如何修复php mysqli_multi_query上的不同步命令?

时间:2019-03-17 11:18:35

标签: php

我很难解决此问题。由于系统功能,我使用了多个查询。我有一个带有2个查询的传递表,该查询需要从数据库插入2个表。我只能插入一个表行,但是当要插入2个或更多数据时,将显示不同步的命令。

下面是我的图形。

enter image description here

这是我使用的PHP代码。

 if($result == true){
            for($count = 0; $count<count($_POST['barcode']); $count++){
                        $transaction[] = $transaction_no;
            }
            for($num= 0; $num < count($_POST['barcode']); $num++){
                $transaction1   = mysqli_real_escape_string($db, $transaction[$num]);
                $barcode_1      = mysqli_real_escape_string($db, $barcode[$num]);
                $product_1      = mysqli_real_escape_string($db, $product[$num]);
                $qty_1          = mysqli_real_escape_string($db, $qty[$num]);
                $buy_price_1    = mysqli_real_escape_string($db, $buy_price[$num]);
                $unit_1         = mysqli_real_escape_string($db, $unit[$num]);
                $tax_1          = mysqli_real_escape_string($db, $tax[$num]);
                $min_qty_1      = mysqli_real_escape_string($db, $min_qty[$num]);
                $sell_price_1   = mysqli_real_escape_string($db, $sell_price[$num]);

                $query = "SELECT product_no,quantity FROM products WHERE product_no='$barcode_1'";
                $result1 = mysqli_query($db, $query);
                if(mysqli_num_rows($result1)>0){
                    while($row = mysqli_fetch_array($result1)){
                        $newqty = $row['quantity'] + $qty_1;
                        $query1 = "UPDATE products SET quantity = $newqty WHERE product_no = '$barcode_1";
                        mysqli_query($db, $query1);
                    }
                }else{
                    $insert .= "
                    INSERT INTO products(product_no,product_name,sell_price,quantity,unit,min_stocks) 
                    VALUES('$barcode_1','$product_1',$sell_price_1,$qty_1,'$unit_1',$min_qty_1);
                        ";

                    $insert1 .= "
                    INSERT INTO product_delivered(transaction_no,product_id,total_qty,buy_price,tax_rate)
                    VALUES('$transaction1','$barcode_1',$qty_1,$buy_price_1,$tax_1);
                    ";
                }
            }

        if($insert != ''){
            if(mysqli_multi_query($db,$insert)){
                echo "Item Inserted";
            }else{
                echo "Error";
            }
        }
        if($insert1 != ''){
            mysql_next_result($db);
            if(mysqli_multi_query($db,$insert1)){
                echo "Item Inserted";
            }else{
                echo "Error";
            }

我没有显示所有代码,因为只有$ insert1出现错误。我尝试过

  

mysqli_next_result()

在第二个查询之前,但仅适用于两个查询。当我插入3个以上的查询时,就会显示问题。希望有人能帮助我。

0 个答案:

没有答案