簡體   English   中英

查詢從 mysqli 表中提取數據

[英]Query to pull data from mysqli table

我創建了一個用戶、帖子和朋友的數據庫,並希望從 account_name 是 $u = "logged in user" 並且 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";

實現此目的的一種方法是使用IN ,然后在WHERE語句中選擇一個子查詢,見下文。

我不確定您在logged_user中的表結構,但只需選擇一列( id ,在下面的示例中),然后在WHERE語句中使用$u用戶。

請注意,在查詢中直接包含 '$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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM