我有一個foreach循環,我想執行一個準備語句pdo。我已閱讀做一個參考的幾個職位,但我不知道怎麼跟我的代碼做到這一點:PDO bindParam()PHP Foreach循環
$str = ":City, Aurora; :State, CO";
$wherestr = explode(";",$str);
$sql = "SELECT * FROM Organization WHERE City = :City AND State= :State";
$stmt = $db->prepare($sql);
foreach ($wherestr as $ws) {
$ws = explode(",",$ws);
$ws0 = trim($ws[0]);
$ws1 = trim($ws[1]);
$stmt->bindParam($ws0,$ws1);
}
$stmt->execute();
我在這裏讀Binding params for PDO statement inside a loop,你可以通過創建一個具有&符號的引用,使這項工作,但我沒有像他們那樣使用Key => Value。任何人都可以幫助我得到這個通過Param循環並執行?
如果我只有一個WHERE(:var),那麼它工作正常,但如果我有多個WHERE過濾器,它似乎覆蓋了前面的過濾器,而不是執行execute語句中的所有bindParams。我沒有得到任何錯誤,只是沒有用多個var正確地過濾結果。
謝謝。
您錯誤地使用了'foreach'。您可以覆蓋每個循環中的參數。 – Raptor
我知道那很多,這就是爲什麼我寫這篇文章。我需要知道如何解決它! – user982853
我們需要知道您的SQL語句如何才能提供幫助。 – Raptor