繁体   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