2016-05-09 43 views
0

我有六個要素($categories = array('dinner','casual','wedding'))的數組,我想作一個SQL查詢應該是這樣的:做一個SQL查詢的WHERE子句接受陣列

SELECT * FROM produts WHERE id = /* values of array $categories... eg. (dinner || casual || wedding) */

+0

你試圖讓在同一查詢該陣列中的所有項目的結果,或者是你在尋找的每個項目單獨的查詢? –

+0

我想要結果在相同的查詢 –

回答

-1

你一定要使用IN而不是WHERE。

+1

*「您必須使用IN而不是WHERE。」* - 您仍然需要使用WHERE IN()http://dev.mysql.com/doc/refman/5.7/en /comparison-operators.html#function_in至於OP在這裏要做什麼。 –

+1

您如何將您的想法應用於問題示例? –

1

試試這個:

$conditions = ''; 

foreach($categories as $cat) { 
    $conditions[] = " id = '".$cat."'"; 
} 

$sql = 'SELECT * FROM produts WHERE '.implode(" OR ", $conditions);