Проблема: вызов функции-члена fetch_asso c () - PullRequest
0 голосов
/ 25 января 2020

я пытаюсь выяснить, что не так с этим кодом. я получаю вызов функции-члена fetch_asso c () ошибка, но я не могу понять, почему

для записи - я пытаюсь создать сайт электронной коммерции для проекта в колледже и с помощью следующего кода я пытаюсь уменьшить запас товара при совершении покупки.

Просто упомянуть - я выполнил запрос SELECT в PhpMyAdmin, и он работал

<?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");
    }
 }

1 Ответ

1 голос
/ 25 января 2020

Вы переопределяете объект $ result внутри while l oop, запрашивая запрос на обновление. Вы можете выполнить запрос без установки какой-либо переменной:

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

Кроме того, я настоятельно рекомендую вам использовать подготовленный оператор , чтобы избежать любой формы SQL инъекция .

...