SQL查询导致我的加载更多帖子功能出现问题


SQL query causing problems with my load more posts function

我想在以下行下方添加更多帖子查询

OR p.posted_to='$userid'

但是当我在下面的查询中添加 OR 语句时,它会返回结果,但每次我单击加载更多时,它都会不断重复相同的帖子,而不是加载较旧的帖子。

如果我将此 OR 语句添加到

我的常规节目帖子中,它会执行它应该做的事情。 当我将 OR 语句添加到下面的 Loadmore 帖子查询时,会出现唯一的问题。

$sql = "SELECT p.body, p.user_id, p.posted_to, p.post_likes,p.stamp, p.id,u.username,     u.imagelocation 
        FROM posts p 
        INNER JOIN users u 
        ON p.user_id=u.id 
        WHERE p.user_id='$userid'   
        AND p.id <'$lastcomment' 
        ORDER BY p.stamp DESC
        LIMIT 0,3";

我假设你写了这样的东西:

WHERE p.user_id='$userid' OR p.posted_to='$userid'
AND p.id <'$lastcomment' 

这不起作用,因为 AND 的优先级高于 OR。您需要括号。

WHERE (p.user_id='$userid' OR p.posted_to='$userid')
AND p.id <'$lastcomment' 

如果没有括号,它将解释如下:

WHERE p.user_id='$userid'
OR (p.posted_to='$userid' AND p.id <'$lastcomment')