0

可能重复:
mysql_fetch_array() 期望参数 1 是资源,选择中给出的布尔值

我有这个:

$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

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

4

2 回答 2

4

Read是 MySQL 中的保留关键字

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

AND `read`='0'
于 2012-05-01T19:20:41.030 回答
1

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

于 2012-05-01T19:21:51.840 回答