我想爲我的PDO查詢在文件上設置數組containsig所有必需的參數,並且這些查詢中的第一個是僅使用一個參數的SELECT
。PDO:在選擇時綁定數據通過陣列
$data = array(
'us_id' => $_POST['us_id'],
'us_credits' => $_POST['us_credits'],
'us_access' => $_POST['us_access']
);
$selectUsers= "SELECT * FROM ws_users WHERE us_id= :us_id";
$statementSelectUsers = $pdo->prepare($selectUsers);
$statementSelectUsers->execute($data);
$result = $statementSelectUsers->fetch(PDO::FETCH_ASSOC);
$us_fk_ui_id = $result['us_fk_ui_id'];
上執行,一個致命錯誤出現了:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' in C:\wamp\www\waisap\actions\ad_updateUserInfo.php on line 25
第25行是$statementSelectUsers->execute($data);
線
據我瞭解到,在PDO一個SELECT
查詢不需要,但如果沒有執行查詢,我不能將包含在我的數組中的綁定數據傳遞給查詢的佔位符。這是錯誤的原因嗎?如何傳遞數組以應用於我的SELECT
查詢的佔位符?
我誤解你的解釋。它不僅需要具有相同的佔位符(從字面上看,匹配的佔位符),它需要相同的佔位符集合。我的錯誤,謝謝 – Biomehanika