為什麼我的 PHP PDO 程式碼出現「SQLSTATE[HY093]:參數號無效」錯誤?
Nov 24, 2024 pm 03:50 PM錯誤:PHP PDOException 中參數編號無效
嘗試執行 add_persist 函數時,開發人員可能會遇到錯誤「SQLSTATE[HY093]:無效參數編號」。此錯誤源自於 SQL 查詢中不正確的參數綁定。
在提供的程式碼中,$sql 語句嘗試透過執行 INSERT 和 ON DUPLICATE KEY UPDATE 指令來更新持久表中的資料列。但是,$stm->execute 呼叫中的參數綁定存在差異。具體來說,:hash 參數出現兩次,但根據 PDO 文檔,每個唯一參數標記只能與一個值綁定一次。
要解決此問題,應修改$sql 查詢以包含不同的值每個傳遞的值的參數標記,如下所示:
$sql = "INSERT INTO persist (user_id, hash, expire) VALUES (:user_id, :hash, :expire) ON DUPLICATE KEY UPDATE hash=:hash2";
登入後複製
此外, $stm->execute呼叫應包含:hash 和:hash 的綁定:hash2參數:
$stm->execute( array(":user_id" => $user_id, ":hash" => $hash, ":expire" => $future, ":hash2" => $hash) );
登入後複製
透過解決這個參數綁定問題,add_persist 函數將正確執行 SQL 查詢,而不會觸發「參數編號無效」錯誤。
以上是為什麼我的 PHP PDO 程式碼出現「SQLSTATE[HY093]:參數號無效」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)