2 回答

TA貢獻1810條經驗 獲得超4個贊
請嘗試以下操作:
$wordAr = array(':1' => 'anglais,' ':2' => 'espagnol');
然后執行時,只需執行 $stmt->execute($wordAr);

TA貢獻1951條經驗 獲得超3個贊
我正在嘗試在 PDO 查詢中使用準備好的數組。
我有以下代碼:
$wordAr = array([0] => ':1' => 'anglais,' [1] => ':2' => 'espagnol'); #Built dynamically in reality
$createTable = "SELECT * FROM candidates WHERE ";
$createTable .= "CandId IN (SELECT CandId FROM etiquettes WHERE speak = :1)";
$createTable .= "AND CandId IN (SELECT CandId FROM etiquettes WHERE speak = :2)";
$stmt = $dbConn->prepare($createTable);
$stmt->execute(array($wordsAr));
$result = $stmt-fetchall();
這給了我以下錯誤: Uncaught PDOException: SQLSTATE[HY093]...(與標題相同)通常我會像這樣執行查詢:
$stmt->execute(array(
':1' => 'anglais',
':2' => 'espagnol'));
但這次數組是動態構建的。(我把它放在這個例子中如何用 print_r 顯示它。
我想我的問題是如何構建我的數組,但我找不到如何正確構建它。
我的目的是將 $wordAr 解釋為上面的查詢。我希望我的解釋足夠清楚。由于我還是個菜鳥,有時我不能正確表達我的需求。
非常感謝您的幫助,我每天都在學習它。
- 2 回答
- 0 關注
- 135 瀏覽
添加回答
舉報