奇怪的错误
我有几行代码应该做一个关于在Opencart的1.4.9的优惠券报告,但我不能在这个错误得到:奇怪的错误
You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near
'order where coupon_id = 16' at line 1.
$getcouponinfo1 = mysql_query("select * from order where coupon_id = $coupon_id")
or die(mysql_error());
其余代码可以找到here。
order
是SQL关键字,你需要引用该表名。
select * from `order` where ...
“order”是一个MySQL保留字......如果你需要调用你的表“order”,那么你需要在你的sql查询中用反引号(`)括起来。
你的错误信息是没有关系的,你最初发布(编辑你的问题之前)的查询,但该查询:
select * from order where coupon_id = $coupon_id
和下面的查询您概括订单的价值
(OP没有发布任何查询,我编辑它并搞砸了第一个复制/粘贴) – Mat 2012-03-03 13:54:10
然后对OP进行道歉,现在它是正确的查询,因此没有造成任何损害 – 2012-03-03 13:55:12
因为order
是一个保留字,它是不是一个好名字表
没有真正回答这个问题,是吗? – 2012-03-04 09:26:36
@PranavHosangadi所以,最好是投票删除这个答案,而不是编辑它使整个问题活跃,污染清单? – 2012-03-04 09:38:09
order
是保留关键字。
您应该改用`order`
。
反引号(')不是双引号(“) – 2012-03-03 13:42:02
@MarkBaker我知道我但是反引号是保留在SO中以突出文本,它只是突出显示它,我先试了一下,但是找不到一个方法来正确地转义它.... – 2012-03-03 13:48:37
@SergeyBenner:你可以把反引号,但它有点复杂看我的编辑) – Mat 2012-03-03 13:53:01
看看这个链接。 sql中有一些保留字。 http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html所以你需要关注@Mat的回答 – 2012-03-03 13:47:16