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生成的消息通常信息量很大。