问题:调用成员函数fetch_assoc()

问题描述 投票:0回答:1

im试图找出这段代码出了什么问题。即时通讯收到成员函数fetch_assoc()的调用错误,但我不知道为什么

为了记录-我正在尝试为大学的一个项目建立一个电子商务站点,并使用以下代码在试图购买时减少库存。

仅提及-我在PhpMyAdmin中执行了SELECT查询,它起作用了

<?php  
require 'config.php';
session_start();
$sql = "SELECT * FROM cart,product WHERE  product.product_code = cart.cart_product_code";
$result = mysqli_query($conn, $sql);
if ($result->num_rows > 0){
    while($row = $result->fetch_assoc()){
        $stock=$row['product_stock']-$row['quantity'];
        $id_stock=$row['cart_product_code'];
        $sql= "UPDATE product SET product_stock='$stock' WHERE product_code='$id_stock'";
        $result = mysqli_query($conn, $sql);
        $query="TRUNCATE TABLE Cart";
        $clear= mysqli_query($conn, $query) or die("Invalid query");
    }
 }
php e-commerce shopping-cart fatal-error
1个回答
1
投票

您通过查询更新查询来覆盖while循环内的$ result对象。您可以在不设置任何变量的情况下执行查询:

 $sql= "UPDATE product SET product_stock='$stock' WHERE product_code='$id_stock'";
 mysqli_query($conn, $sql);

此外,我强烈建议您使用prepared statement来避免使用任何形式的SQL injection

© www.soinside.com 2019 - 2024. All rights reserved.