我的MySQL语句中该列有什么问题?

时间:2012-05-01 19:19:22

标签: php mysql

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

我有这个:

$query=mysql_query("SELECT DISTINCT username FROM messages 
WHERE to='admin' AND read='0'");

如果我使用mysql_fetch_assoc($query),我会收到错误:

PHP Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given

但是,当我从SQL语句中删除以下内容时:AND read='0',没有错误,一切正常。

有关于“阅读”专栏的内容。它的类型是“int(1)”,默认值为0

有谁知道为什么这样做?谢谢了很多

2 个答案:

答案 0 :(得分:4)

Read是MySQL中的reserved keyword

您需要用反引号括起列名:

AND `read`='0'

答案 1 :(得分:1)

在列名称周围添加反引号(`),因为read是MySQL中的保留字。