簡體   English   中英

MySQL的PHP​​查詢-新聞/朋友飼料

[英]mySQL php query - news/ friends feed

我想向用戶展示他們朋友最近上傳的內容。

我有一個數組中的用戶朋友ID:

$friends

一個用戶可能有數千個朋友。

我可以通過以下方式從1個用戶朋友中選擇上傳:

$row = $mysqli->query("SELECT * FROM photos 
                       WHERE uploader_id =  ".$friend." 
                       ORDER BY date_uploaded 
                       DESC LIMIT ".$page.", 25");

但是我需要找到一個所有用戶上傳的朋友。 我曾考慮過在$friends數組中循環訪問,但隨后可能會運行數千個mysql查詢。

我怎樣才能最有效地做到這一點?

所以要澄清一下:

在“照片”表中搜索特定用戶(朋友)上傳的照片,保存在$friends變量中,按date_uploaded排序並限制為x個結果,因此我可以擁有第1、2、3頁等

使用implode以逗號連接數組元素,並使用MySQL的IN子句。

$row = $mysqli->query("SELECT * FROM photos 
                   WHERE uploader_id IN (". implode(',' $friends) .") 
                   ORDER BY date_uploaded 
                   DESC LIMIT ".$page.", 25");

確保您的$friends數組不包含任何未過濾的輸入。 就目前而言,如果$friends以任何方式依賴於用戶輸入,則您可以進行SQL注入。

暫無
暫無

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

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