当前位置: 首页 > 知识库问答 >
问题:

SQL查询不工作-没有原因?[副本]

伍耀
2023-03-14

我有个问题。我创建了一个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 server版本相对应的手册,以了解在第1行“order(kundennummer,empfaenger,adresse,plz,ort,land,email,time,approvalPending)”附近使用的正确语法

我的代码是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个答案

傅和璧
2023-03-14

您的表名与保留字匹配,因此需要在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')

注意:当从PHP调用它时,您可能需要考虑使用准备好的查询和la PDO等。

翟淇
2023-03-14

带背勾得报价订单:

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');

顺序(R)是保留字。

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

 类似资料:
  • 我变得非常困惑,我试图通过laravels query builder运行一个应该可以工作的查询,但它会抛出奇怪的错误。

  • 我正在使用ApacheLucene5.0。0并在使用QueryParser时遇到问题。我试图创建一个查询,但得到一个ParseException。 以下是我的代码: 这是我得到的例外: 如果有帮助,我已经包含了以下jar文件: lucene-analyzers-common-5.0.0.jar lucene-core-5.0.0.jar lucene-queries-5.0.0.jar lucen

  • 在模型查询API不够用的情况下,你可以使用原始的sql语句。django提供两种方法使用原始sql进行查询:一种是使用Manager.raw()方法,进行原始查询并返回模型实例;另一种是完全避开模型层,直接执行自定义的sql语句。 警告 编写原始的sql语句时,应该格外小心。每次使用的时候,都要确保转义了参数中的任何控制字符,以防受到sql注入攻击。更多信息请参阅防止sql注入。 进行原始查询 r

  • Entity Framework Core 允许你在使用关系数据库时下降为原生SQL查询。当你想要执行一些 LINQ 无法表达的查询,或者使用 LINQ 会导致发送到数据库的 SQL 效率低下时,这会很有用。 提示 你可以在 GitHub 上查阅当前文章涉及的代码样例。 局限性 使用原生 SQL 查询有一些限制。 SQL 查询只能用于返回模型中的实体类型实例。在我们的待办事项列表中有一个 允许从

  • 我在我的android应用程序项目中安装了multidex解决方案,在“Google Play Dev”中,人们会遇到如下错误: 据我所知,我已经正确安装了multidex(阅读了关于此错误的其他来源&multidex) 是的。我用ProGuard。

  • 问题内容: 我正在使用内部联接在MySQL中进行选择: 有时我会在结果中得到tblcaritem.caritemid的副本。我想确保永远不要复制tblcaritem.caritemid,但是我该怎么做?我尝试使用DISTINCT,但它只是检查了整行是否重复,我只想检查tblcaritem.caritemid,有没有办法? 抱歉,如果我不能很好地解释它,那么我并不是最好的SQL查询。 问题答案: