SQL Query适用于SQL,但不适用于PHP



我有一个关系插入,它就像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));
}
?>

最新更新