我正在尝试在 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 解释为上面的查询。我希望我的解释足够清楚。由于我还是个菜鸟,有时我不能正确表达我的需求。
非常感谢您的帮助,我每天都在学习它。
蝴蝶不菲
饮歌长啸