簡體   English   中英

使用WHERE子句檢查一個SQL查詢內的數組中的值

[英]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.

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