Mysql查询不起作用?

时间:2011-09-13 22:14:57

标签: php mysql pdo

我正在为我的网站制作一个简单的朋友功能,当人们收到朋友请求时,我希望它显示在朋友面板链接上,所以我尝试了这个。

 $q = $dbc -> prepare("SELECT id_to read FROM friend_requests WHERE id = ? && read == '0'");
 $q -> execute(array($details['id']));
 $request_count = $q -> rowCount();
 if ($request_count > 0) {
echo '<li><a href="/friends"><img src="/gameimages/friends.png" height="16" width="16" alt="" /><strong>Friends (' . $request_count . ')</strong></a></li>';
 }
 else {
echo $request_count;
echo '<li><a href="/friends"><img src="/gameimages/friends.png" height="16" width="16" alt="" />Friends </a></li>';
 }

现在在显示请求的朋友页面上,所有请求都将读取的列设置为1,默认情况下为0.如果有0行,则应该是新请求,上面的查询应该触发让用户知道他们有新的要求,我做错了什么?

3 个答案:

答案 0 :(得分:3)

问题在于您的查询:

SELECT id_to read FROM friend_requests WHERE id = ? && read == '0'

应该是

SELECT id_to, read FROM friend_requests WHERE id = ? and read = '0'

答案 1 :(得分:1)

  

&安培;&安培;读=='0'

你的意思是

 AND read = 0

答案 2 :(得分:1)

读取是MySQL中的reserved word,需要使用反引号进行转义:

SELECT id_to, `read` FROM friend_requests WHERE id = ? AND `read` = '0';