簡體   English   中英

SQL查詢可在SQL中使用,但不適用於PHP

[英]SQL Query works in SQL but not in PHP

我有一個關系插入,它像mysql中的超級按鈕一樣工作,但是當我將其插入PHP查詢中時,沒什么可做的。 有人可以幫忙嗎?

        $qry = "
            INSERT into orders
                ( customerid, date, order_status ) 
            VALUES 
                ( '$customerid', '$date', $order_status );
            INSERT into order_items
                ( orderid, isbn, item_price, quantity )
            VALUES
                ( LAST_INSERT_ID(), '12345', 5, 1 )
        ";

當我刪除第二個插入時,它的工作方式與PHP中宣傳的一樣。 我正在運行EasyPHP5.3。 謝謝!

除非使用mysqli_multi_query()否則在PHP中一次不能運行多個查詢。 因此,您需要將該查詢分為兩個查詢或使用前面提到的函數。

希望這項工作對您有幫助

        $qry = "
        INSERT into orders
            ( customerid, date, order_status ) 
        VALUES 
            ( '$customerid', '$date', $order_status )";

        $qry.=" INSERT into order_items
            ( orderid, isbn, item_price, quantity )
        VALUES
            ( LAST_INSERT_ID(), '12345', 5, 1 )
    ";   

    $mysqli->multi_query($query)       

好的,因此SQL和PHP可能有一些共同點,但仍然存在差異。

如果要執行多個查詢,這可能會導致PHP錯誤,因為PHP需要在執行查詢之前向SQL發送一個請求,而一個請求就是向一個查詢發送。 (我想看)。

如果您要將代碼轉移到PHP,這就是代碼,我想您已經知道如何在php文件和數據庫之間建立連接,如果您不隨意提出或更新問題的話。 但這是在PHP中執行代碼的方法:

<?php
$sqlOrders = "INSERT INTO orders (customer_id, date, order_status)
VALUES
('$customer_id','$date','$customer_status')";

$sqlOrderItems = "INSERT INTO order_items (orderid, isbn, item_price, quantity)
VALUES
(LAST_INSERT_ID(), '12345', 5, 1)";

之后,您需要為此命令調用此命令。

if(!mysqli_query($link <--- connection to your database,$sqlOrders)){
die('Error: ' . mysqli_error($link));
}

if(!mysqli_query($link,$sqlOrderItems)){
die('Error: ' . mysqli_error($link));
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM