[英]Checking value in an array inside one SQL query with WHERE clause
我想知道這在sql中實際上是可行的(使用php作為服務器端),其中你有一個值數組(數字),你嘗試根據該數組中的值檢索數據。
我有一個SQL表:
posts(
id int(11) primary key,
posts varchar(140),
user_id int(11) foreign key
);
我現在寫一個查詢來檢索'帖子':
$query="SELECT * FROM posts WHERE user_id=(**Array of select user_id's**)";
是否有任何sql內置函數來檢查數組中的值? 或者我應該使用PHP嗎?
我實際上正在嘗試實現我們關注的人員帖子的推特模型。
SQL無法解析PHP數組。 嘗試這個:
$query="SELECT * FROM posts WHERE user_id IN ({implode(',', $userIDarray)})";
是的,這很容易實現。 你需要看看MySQL的IN功能
你的查詢會是這樣的
SELECT * FROM posts WHERE user_id IN (1,2,3,4,5,6)
您可以使用implode()在PHP中的括號之間構建位
看看這個頁面: WHERE ... IN 。 您可以使用IN運算符檢查值列表中是否存在某個值。
是的,你必須使用以下語法
SELECT 'value'
IN (array)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.