SQL查询无法正常工作 - 没有理由?

时间:2016-02-04 13:43:07

标签: php mysql

我有问题。我创建了一个SQL查询,以便在数据库中插入内容:

INSERT INTO order (kundennummer,empfaenger,adresse,plz,ort,land,email,time,approvalPending) 
VALUES ('232784', 'Niklas Peters', 'Some Stret', 'PostalCode', 'Wien', 'AT', 'email@email.com', '1454593142', '1')

但我总是得到错误:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近订单   (kundennummer,empfaenger,住址,PLZ,ORT,土地,电子邮件,时间,approvalPending)   '在第1行

我的代码是PHP

$sql = "INSERT INTO order (kundennummer,empfaenger,adresse,plz,ort,land,email,time,approvalPending) VALUES ('".$kdnr."', '".$emp."', '".$adresse."', '".$plz."', '".$ort."', '".$land."', '".$email."', '".$time."', '1')";

我只是不知道出了什么问题 - 我瞎了吗?

干杯 - 很乐意帮忙!

2 个答案:

答案 0 :(得分:13)

使用反引号引用订单:

INSERT INTO `order` (kundennummer,empfaenger,adresse,plz,ort,land,email,time,approvalPending) 
VALUES ('232784', 'Niklas Peters', 'Some Stret', 'PostalCode', 'Wien', 'AT', 'email@email.com', '1454593142', '1');

ORDER (R)reserved word

  

如果引用保留字,则允许使用保留字作为标识符

答案 1 :(得分:5)

您的表名与reserved word匹配,因此需要在SQL查询中引用,例如

INSERT INTO `order` (kundennummer,empfaenger,adresse,plz,ort,land,email,time,approvalPending) VALUES ('232784', 'Niklas Peters', 'Some Stret', 'PostalCode', 'Wien', 'AT', 'email@email.com', '1454593142', '1')

NB。从PHP调用它时,您可能需要考虑使用准备好的查询等PDO等。