我正在为我的网站制作一个简单的朋友功能,当人们收到朋友请求时,我希望它显示在朋友面板链接上,所以我尝试了这个。
$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行,则应该是新请求,上面的查询应该触发让用户知道他们有新的要求,我做错了什么?
答案 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';