2016-05-23 42 views
0

請我想知道,如果它可以搜索數據庫表,例如數組搜索表:每個數組值

$array = array('a', 'b', 'c', 'd', 'e'); 
$query = mysqli_query($con, "SELECT * FROM table WHERE //the possible search for each of the array value// (!in_array(table_colomn, $array)"); 

有沒有一種可能的方式做到這一點還是我必須運行像這樣每個功能:

foreach($array as $arr){ 
    //run table query search for each array value 
} 
+2

您正在尋找MySQL中的['IN'](https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#function_in)運算符。 –

+1

是的...所以我應該像這樣運行查詢:'WHERE table_colomn IN'「。$ array。」''? –

+0

關閉,但不完全。您需要將數組轉換爲字符串並構建適當的MySQL查詢。 –

回答

4

下面是做到這一點的方式。

$array = array('a', 'b', 'c', 'd', 'e'); 
$query = "SELECT * FROM table WHERE `column` IN ('".implode("', '", $array)."');"; 
$query = mysqli_query($con, $query); 
+0

我修復了你的報價:) –

+0

@RocketHazmat謝謝:) –

+1

lol ...我忘了我不想從數組值中得到結果,所以我猜我的代碼看起來像這樣:WHERE column!IN('「.implode(」','「,$ array)。」'''對嗎? –