【发布时间】:2016-12-15 23:15:15
【问题描述】:
我正在尝试显示购物车中的产品,但收到以下错误(见下文)。我真的不明白我做错了什么......带有解释的详细答案会很好。我试图找到解决问题的方法,但没有成功。 我明白未定义变量的含义,但我不知道如何在这种特殊情况下修复它。
注意:未定义变量:行
警告:为 foreach() 提供的参数无效
<html>
<body>
<table>
<tbody>
<?php
require_once 'core/config.php';
$cartQ = $db->query("SELECT * FROM cart");
$result = mysqli_fetch_assoc($cartQ);
foreach ($row as $product) {
$productQuery = $db->query("SELECT * FROM product INNER JOIN cart ON product.id=cart.product_id ");
$product = mysqli_fetch_assoc($productQuery);
while ($row = mysqli_fetch_assoc($cartQ)) {
}
?>
<tr class="p">
<td class="image"><img src="<?= $product['image_1']; ?>" /></td>
<td class="name"><?= $product['prod_name']; ?></td>
<td class="price"><?= money($product['price']); ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</body>
</html>
【问题讨论】:
-
好吧,看看错误,看看你的代码,$row是在哪里定义的?
-
看看这一行
foreach($row as $product){变量$row。在上面的行中,您正在设置一个名为$result的变量,也许它是您打算引用的。或者你可能在引用它的代码之间遗漏了一段代码 -
@Devon:伙计,我已经睡了好几天了。放松。
-
我很放松,不过还是谢谢你的关心。只是指出读取错误很有用。
-
@happymacarts:感谢您的回答。看到就是这样,当我使用
$product = mysqli_fetch_assoc($cartQ);产品image_1、prod_name和price时显示正常但是有两件事出错:1)行数错误(行数太多)和2)它一遍又一遍地展示相同的产品。它现在应该只显示两个产品;一件 T 恤和一顶帽子,但我看到 7 件 T 恤没有帽子。