mysqli多查询不工作

xoshrz7s  于 2021-06-17  发布在  Mysql
关注(0)|答案(0)|浏览(173)

嗨,伙计们,我有一段代码:

foreach($cartItems as $item){
    $sql .= "INSERT INTO order_items (order_id, product_id, quantity) VALUES ('".$orderID."', '".$item['id']."', '".$item['qty']."');";

    $newstock = $item['stock']-$item['qty'];
    $sql1 .= "UPDATE product SET stock='".$newstock."' WHERE ID='".$item['id']."';";
}
// insert order items into database
$insertOrderItems = $conn->multi_query($sql);
$updateProductQty = $conn->multi_query($sql1);

我在更新表“product”时遇到问题。。第一个查询是1并且是可以的,但是sql1输出是可以的,但是什么也没有发生,我尝试在phpmyadmin中手动更新这个查询,它在那里工作。。你看到我没有看到的东西了吗?谢谢
编辑:所以看起来应该更像这个?

$conn->begin_transaction(MYSQLI_TRANS_START_READ_WRITE);

             foreach($cartItems as $item) {

                    $newstock = $item['stock']-$item['qty'];
                    $stmt = $conn->prepare('update product set stock = ? where ID = ?');
                    $stmt->bind_param('ii',$newstock,$item['id']);
                    $stmt->execute();
            }
$conn->commit();
    $conn->close();

这个?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题