SQL查询:查询浏览器显示错误1064

时间:2015-04-08 11:23:59

标签: php mysql mysqli mysql-error-1064

我无法找到MYSQL查询的内容。它工作正常,今天它可以帮助我抛出1064错误。

在查询浏览器中我收到1064错误

在mysqli_error中我得到了#34;未知列' s.firstname'在'字段列表'"。

query ::

SELECT s.recid userId, s.firstname firstName, s.lastname lastName, s.email email, s.status status
FROM usertable s
WHERE s.email = 'xyz@gmail.com'
AND s.mobile = 'XXXXXXXX'
AND (s.enddate IS NULL OR s.enddate = '0000-00-00' OR s.enddate > '2015-04-08 11:13:34') 

错误:

未知栏' s.firstname'在'字段列表'

3 个答案:

答案 0 :(得分:0)

检查名字拼写,字段开头和结尾的空格,如果没问题,则从查询中删除第一个名称,然后尝试一次。 这将有助于我们进行调试。

答案 1 :(得分:0)

检查您的表格是否有firstname

使用以下命令在查询浏览器中进行检查

DESC usertable;

答案 2 :(得分:0)

尝试用反引号(或至少列名称为status)包装所有内容,看看会发生什么......

SELECT `s`.`recid` `userId`, `s`.`firstname` `firstName`, `s`.`lastname` `lastName`, `s`.`email` `email`, `s`.`status` `status`
FROM `usertable` `s`
WHERE `s`.`email` = 'xyz@gmail.com'
AND `s`.`mobile` = 'XXXXXXXX'
AND (`s`.`enddate` IS NULL OR `s`.`enddate` = '0000-00-00' OR `s`.`enddate` > '2015-04-08 11:13:34') 

请注意,您使用status作为列名,但即使它未被声明为关键字,也会在SHOW STATUS等查询中使用...所以我会避免这种情况并将其名称更改为其他名称。在某些版本的phpMyAdmin中使用这样的状态也产生了一些unexpected results。但是当你用反引号包装它时,你可以将它用作列名。