首頁 >後端開發 >php教程 >為什麼我的 PHP mysqli 物件過早關閉,導致「mysqli 物件已關閉/無法取得 mysqli 錯誤」?

為什麼我的 PHP mysqli 物件過早關閉,導致「mysqli 物件已關閉/無法取得 mysqli 錯誤」?

Barbara Streisand
Barbara Streisand原創
2024-12-03 00:57:15325瀏覽

Why is my PHP mysqli object closing prematurely, causing

mysqli::query(): mysqli 物件已關閉/無法取得mysqli 錯誤

提供的PHP 程式碼使用了一個類別(>

提供的PHP 程式碼使用了一個類別( ) 管理資料庫連線並執行查詢。但是,錯誤訊息表示 mysqli 物件已關閉或在取得 mysqli 錯誤時發生錯誤。

了解錯誤

當 mysqli 物件關閉時如果過早,後續查詢將失敗並出現「mysqli 物件已關閉」錯誤。如果在執行所有查詢之前關閉 DBConnect 對象,則可能會發生這種情況。

錯誤的第二部分「無法取得 mysqli 錯誤」表示腳本嘗試檢索關聯的錯誤訊息與先前的 mysqli 操作一樣,但無法檢索到錯誤訊息,可能是因為連線已關閉。

正在解決問題

確保 DBConnect 物件在執行所有必要的查詢之前不會關閉。在提供的程式碼中,DBConnect 物件在 __destruct() 方法中關閉。將實際的連線終止移動到更合適的位置,例如在所有查詢執行完畢並且不再需要該物件之後。

此外,請考慮在執行查詢之前檢查連接的狀態,以優雅地處理潛在的連接問題。

修訂後的程式碼範例

// Function to add events to Zodiac calendar
這是解決潛在關閉問題的程式碼的修訂部分問題:

以上是為什麼我的 PHP mysqli 物件過早關閉,導致「mysqli 物件已關閉/無法取得 mysqli 錯誤」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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