Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL引号查询失败_Mysql - Fatal编程技术网

Mysql SQL引号查询失败

Mysql SQL引号查询失败,mysql,Mysql,我有一个奇怪的问题:我犯了这个错误 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 = 'aaaa' AND expire >= '1387730046'' at line 1 你在结尾处看到两次。但是SQL是 "SELECT * FROM mails WHER

我有一个奇怪的问题:我犯了这个错误

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 = 'aaaa'
AND expire >= '1387730046'' at line 1
你在结尾处看到两次。但是SQL是

"SELECT * FROM mails WHERE key = '".$mysql->real_escape_string($_GET['key'])."'
AND expire >= '".strtotime(date("Y-m-d H:i:s"))."'"

所以,我不明白为什么会出现这个错误。有人知道我做错了什么吗?

在MySQL中,
键是一个保留字(请参阅)。所以你需要逃避它:

SELECT * FROM mails WHERE `key` = '".$mysql->real_escape_string($_GET['key'])."' AND expire >= '".strtotime(date("Y-m-d H:i:s"))."'"
查询应为:

"SELECT * FROM mails WHERE `key` = '".$mysql->real_escape_string($_GET['key'])."' AND expire >= '".strtotime(date("Y-m-d H:i:s"))."'"

始终在列周围使用parentesis。

对于错误消息,MySQL生成的消息通常信息量很大。