<?php
$sql="SELECT * FROM products WHERE id_product IN (";
foreach($_SESSION['cart'] as $id => $value) {
$sql.=$id.",";
}
$sql=substr($sql, 0, -1).") ORDER BY name ASC";
$query=mysql_query($sql);
$totalprice=0;
while ($row=mysql_fetch_array($query)){
$subtotal=$_SESSION['cart'][$row['id_product']]['quantity']*$row['price'];
$totalprice+=$subtotal;
?>
<tr>
<td><?php echo $row['name'] ?></td>
<td><input type="text" name="quantity[<?php echo $row['id_product'] ?>]" size="5" value="<?php echo $_SESSION['cart'][$row['id_product']]['quantity'] ?>" /></td>
<td><?php echo $row['price'] ?>$</td>
<td><?php echo $_SESSION['cart'][$row['id_product']]['quantity']*$row['price'] ?>$</td>
</tr>
<?php
}
?>
<tr>
<td>Total Price: <?php echo $totalprice ?></td>
</tr>
Это код, который я использую в настоящее время. Очевидная ошибка я получаю:Изменение mysql_fetch_array на эквивалент PDO
Fatal error: Uncaught Error: Call to undefined function mysql_query()
Я знаю, что нужно изменить его на PDO, но я не уверен, что заменить mysql_fetch_array
с в то время как все еще получаю totalprice я хочу.
После изменения его к этому:
foreach($_SESSION['cart'] as $id => $value) {
$sql.=$id.",";
}
$sql=substr($sql, 0, -1).") ORDER BY name ASC";
$stmt = $db->prepare($sql);
$stmt->execute();
$totalprice=0;
Я уверен в том, как действовать, пока еще не занижено ли полная стоимость
Параметр '' mysql_ * функция была удалена, пожалуйста, посмотрите на любой '' PDO' или MySQLi' на [php.net] (HTTP: // PHP .сеть/). – Tom
С 'PDO'' mysql_fetch_array() 'is' $ conn-> fetchAll() 'где' $ conn' - это переменная соединения. – Tom