我有一个关系插入,它就像mysql中的魅力一样,但是当我在PHP中放入查询时,没有'doin'。有人可以帮忙吗?
$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));
}
?>