2014-03-05 47 views
1

我有一個關係型插入,它像mysql中的一個魅力一樣工作,但是當我在PHP中插入一個查詢時,沒什麼'doin'。有人可以幫忙嗎?SQL查詢可以在SQL中使用,但不能在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。 謝謝!

+0

這是兩個查詢。出於很好的理由,這在php/mysql中是不可以的 – Strawberry

回答

1

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

1

希望這對你的工作

 $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)  
0

好了,SQL和PHP可能有一些共同點,但它們還是有區別的。

如果要執行多個查詢,可能會導致PHP中出現錯誤,因爲PHP在執行查詢之前需要向SQL發送請求,並且一個請求是針對一個查詢。 (我認爲meehee)。

如果您要將您的代碼轉移到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)); 
} 
?> 
相關問題