2013-03-02 102 views
2

下面是该查询SQL错误,当我尝试此查询

$query_order = "select * from orders where key = '$pay_key'"; 

显示错误

SELECT 
    * 
FROM `orders` 
where `key` = 'C90320' 

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 'key = 'C90320'' at line 1* 
+1

能否请你表现出更多的代码。你现在显示的内容不会显示'key'这个词是如何逃脱的 – afuzzyllama 2013-03-02 06:08:14

回答

1

key是一个保留字。您的查询更改为:

$query_order = "select * from orders where `key` = '$pay_key'"; 

此外,我会建议逃避$pay_key的价值。这样说:

$pay_key = mysqli_real_escape_string($pay_key); 
0
$query_order = "select * from orders 
       where `key` = '".mysqli_real_escape_string($pay_key)."'"; 
+1

你的答案有两个错误。请纠正它们。 – 2013-03-02 06:13:37

+0

你的答案现在有一个基本的错误。 – 2013-03-02 06:14:01

+0

确定一个人正在使用不推荐的mysql_扩展名,请点其他 – 2013-03-02 06:14:28

0

试试这个

首先,你需要使用字符串比较会这样的代码应该喜欢这个

$query_order = "select * from orders where `key` = '".$pay_key."'"; 
+0

另外,**变量解析** 当一个字符串用双引号或heredoc指定时,变量将在其中被解析。 – 2013-03-02 06:25:41

相关问题