我想知道是否有人可以帮我发现错误。我很擅长加入牌桌,但最后我做得很好。
您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在''(10,8)'和d.streamitem_target IN'(10,8)'附近使用正确的语法。)在第9行订购d.streamitem_id DE'
$call="SELECT d.*, c.*, u.*
FROM streamdata AS d
JOIN streamdata_comments AS c ON d.streamitem_id = c.comment_streamitem
JOIN users AS u ON u.id = c.comment_poster
WHERE c.comment_poster = '$following_string'
AND d.streamitem_id < '$lastID'
AND (d.streamitem_target = '$following_string' OR
d.streamitem_creator = '$following_string')
OR d.streamitem_creator IN '$friendlist'
AND d.streamitem_target IN '$friendlist'
ORDER BY d.streamitem_id DESC LIMIT 10";
答案 0 :(得分:3)
OR d.streamitem_creator IN '$friendlist'
应该是
OR d.streamitem_creator IN $friendlist
您不引用IN
个变量。
同样适用于AND d.streamitem_target IN '$friendlist'
行。
答案 1 :(得分:2)
我想可能在IN子句中围绕$ friends列表的单引号是你的问题,例如,改为
OR d.streamitem_creator IN $friendlist
AND d.streamitem_target IN $friendlist
答案 2 :(得分:1)
您在引号中用逗号分隔的列表括起来。不要那样做。
.
.
.
OR d.streamitem_creator IN $friendlist
AND d.streamitem_target IN $friendlist
.
.
.