【问题标题】:Invalid argument supplied foreach php mysqli [closed]为每个 php mysqli 提供的参数无效 [关闭]
【发布时间】: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_1prod_nameprice 时显示正常但是有两件事出错:1)行数错误(行数太多)和2)它一遍又一遍地展示相同的产品。它现在应该只显示两个产品;一件 T 恤和一顶帽子,但我看到 7 件 T 恤没有帽子。

标签: php mysqli foreach


【解决方案1】:

摆脱第一个查询和foreach 循环,它们不是必需的。 JOIN 查询返回您需要显示的所有信息。

<html>
    <body>
        <table>
            <tbody>
<?php
    require_once 'core/config.php';
    $productQuery = $db->query("SELECT * FROM product INNER JOIN cart ON product.id=cart.product_id ");
    while ($product = mysqli_fetch_assoc($productQuery)) {
        ?>
        <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>

【讨论】:

    猜你喜欢
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 2023-03-10
    • 2020-12-22
    • 1970-01-01
    相关资源
    最近更新 更多