首頁 >後端開發 >php教程 >為什麼我的 PHP PDO 準備語句會拋出「無效參數號」錯誤?

為什麼我的 PHP PDO 準備語句會拋出「無效參數號」錯誤?

Susan Sarandon
Susan Sarandon原創
2024-11-25 09:25:18232瀏覽

Why Does My PHP PDO Prepared Statement Throw an

PHP PDO 中參數編號無效

嘗試使用PDO 執行準備好的語句時,可能會遇到錯誤“SQLSTATE[HY093” ]:參數號無效。 」出現此問題的原因是參數標記的錯誤使用。

提供的函數add_persist 使用以下準備好的語句:

INSERT INTO persist (user_id, hash, expire) VALUES (:user_id, :hash, :expire) ON DUPLICATE KEY UPDATE hash=:hash

使用execute() 方法綁定參數值時,此函數使用以下值:

["user_id" => $user_id, "hash" => $hash, "expire" => $future]

但是,準備好的語句包含雜湊的重複參數標記,這是PDO不允許的。確保沒有準備好的語句中重複的參數標記,解決了錯誤。

以上是為什麼我的 PHP PDO 準備語句會拋出「無效參數號」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn