我需要使用PDO在PHP中構建SQL語句,並且WHERE子句中的值數是動態的。將WHERE參數動態添加到PDO sql語句
例如
SELECT column1, column2 FROM table WHERE category = :category OR category = :category
在這種情況下,有2個類別的where子句中,我比較在,但它可能會超過200,所以我不能只用:類別1和:產品組別的名稱。
我嘗試以下,但它給人一種 「常規錯誤:2031」 信息
$where = array("category = :category", "category = :category");
$params = array("abc", "xyz");
$query = "SELECT column1, column2 FROM table WHERE ". implode(" OR ", $where);
$s= $h->prepare($query);
$s->setFetchMode(PDO::FETCH_ASSOC);
$s->execute(array_values($params));
有什麼建議?
感謝您的快速回復。我會研究IN()條件。 – user1480951
這應該作爲重複的標誌發佈,而不是作爲答案。 – Shadow
@Shadow如果OP不知道「IN」語句,他不能搜索如何將參數綁定到它。 – blue112