查询从mysqli表

时间:2017-01-12 10:56:14

标签: php mysql

我创建了一个用户,帖子和朋友的数据库,并希望从account_name为$ u =“登录用户”的帖子中提取所有帖子,以及account_name所在的位置 “在登录用户的朋友列表中”

我如何添加查询来拉动......请检查以下查询:

 ​$sql = "SELECT p.*, u.avater FROM posts AS p 
    LEFT JOIN users AS u ON u.username = p.author 
    WHERE (p.account_name='$u') OR (p.account_name = '(if exist in logged_user friends list')  
    ORDER BY p.postdate DESC LIMIT 20";

1 个答案:

答案 0 :(得分:0)

实现此目的的一种方法是使用IN,然后在WHERE语句中选择子查询,请参阅下文。

我不确定logged_user中的表格结构,只需在下面的示例中选择一列(id),然后使用$u用户WHERE 1}}陈述。

注意,在查询中直接包含'$ u'是不好的做法,您应该使用预准备语句。

SELECT p.*, u.avater 
FROM posts AS p 
LEFT JOIN users AS u ON u.username = p.author
WHERE p.account_name = '$u'
OR p.account_name IN (SELECT user2 FROM friends WHERE user1 = '$u')
ORDER BY p.postdate DESC LIMIT 20