以下查询将不会执行
mysql_query("SELECT * FROM order WHERE orderID = 102;");
它产生以下错误消息:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“order WHERE orderID = 102”附近使用正确的语法
如何编写能够成功查询该表的 SQL?
订单是一个保留字。不要使用保留字作为表名或字段名;或将其包装在转义字符中,例如 ` for mysql。就我个人而言,我只是避免使用它们,因为从长远来看,它们通常会导致比它们更值得的头痛。
例子:
mysql_query("SELECT * FROM `order` WHERE orderID = 102;");
更多信息- 您可以在此处获取有关保留字的更多信息https://dev.mysql.com/doc/refman/5.5/en/keywords.html
让我发疯的是人们假设查询会起作用,然后甚至不打扰要求数据库解释为什么事情会爆炸。尝试这个:
$result = mysql_query("SELECT * FROM order WHERE orderID = 102;") or die(mysql_error());
同样,除非有比您上面显示的更多的代码,否则您必须捕获查询调用的返回值,因为该返回值是您的结果句柄,您可以从中获取结果。如果没有该语句句柄,您基本上是在浪费数据库服务器(和您自己的)时间。
尝试
mysql_query("SELECT * FROM order WHERE orderID = 102;") or die("MySQL ERROR: ".mysql_error());