我有六個要素($categories = array('dinner','casual','wedding')
)的數組,我想作一個SQL查詢應該是這樣的:做一個SQL查詢的WHERE子句接受陣列
SELECT * FROM produts WHERE id = /* values of array $categories... eg. (dinner || casual || wedding) */
我有六個要素($categories = array('dinner','casual','wedding')
)的數組,我想作一個SQL查詢應該是這樣的:做一個SQL查詢的WHERE子句接受陣列
SELECT * FROM produts WHERE id = /* values of array $categories... eg. (dinner || casual || wedding) */
你一定要使用IN而不是WHERE。
*「您必須使用IN而不是WHERE。」* - 您仍然需要使用WHERE IN()http://dev.mysql.com/doc/refman/5.7/en /comparison-operators.html#function_in至於OP在這裏要做什麼。 –
您如何將您的想法應用於問題示例? –
試試這個:
$conditions = '';
foreach($categories as $cat) {
$conditions[] = " id = '".$cat."'";
}
$sql = 'SELECT * FROM produts WHERE '.implode(" OR ", $conditions);
你試圖讓在同一查詢該陣列中的所有項目的結果,或者是你在尋找的每個項目單獨的查詢? –
我想要結果在相同的查詢 –