【发布时间】:2018-08-31 02:40:31
【问题描述】:
我有这个 SQL:
$sql = "INSERT INTO orders (ID, Order_ID, Status, FName, LName, Email,
Phone)VALUES ($UID, $orderID, 'Pending', '$fname', '$lname', '$email',
'$phone');
INSERT INTO orders_inventory (Order_invID, Item_ID, Order_ID, Quantity)
VALUES
(NULL, $item_ID, $orderID, 1);";
我是这样连接的:
if(mysqli_query($db, $sql)){
echo "three";
}
我在$sql 上做了回声,这就是我得到的:
INSERT INTO orders (ID, Order_ID, Status, FName, LName, Email, Phone)
VALUES (92, 625015841, 'Pending', '1', '1', '1@1', '1');
INSERT INTO orders_inventory (Order_invID, Item_ID, Order_ID, Quantity)
VALUES (NULL, 1, 625015841, 1);
当我手动将 SQL 粘贴到数据库时,它可以工作,但是当我使用网站 PHP 时,数据库崩溃了。 $DB是用来连接数据库的,因为我测试过,而且我整个网站都在使用它。
然后我使用mysqli_error(db) 进行了错误检查,我得到了这个错误:
“您的 SQL 语法有错误;请查看与您的 MariaDB 服务器版本相对应的手册,了解在 'INSERT INTO orders_inventory (Order_invID, Item_ID, Order_ID, Quantity) VALUES (' at line 2" 附近使用的正确语法”
非常感谢您的帮助,因为我非常卡住并且不知道如何解决这个问题或解决这个问题
【问题讨论】:
-
对不起,当我使用网站 php 时数据库没有崩溃,php 代码只是没有达到 echo "three"
-
尝试将两条语句一一执行
-
尝试删除末尾的分号。分号不是 SQL 的一部分,一些数据库驱动程序不喜欢它。
-
等等...这是两个语句!分别运行它们。
-
命令行和 GUI 工具通常支持多语句,而 PHP API 不支持(默认情况下)。