[英]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.