首頁 > 後端開發 > php教程 > 為什麼我的 PHP 腳本拋出「mysqli::query(): MySQL 物件已關閉或無法取得 MySQL 錯誤」?

為什麼我的 PHP 腳本拋出「mysqli::query(): MySQL 物件已關閉或無法取得 MySQL 錯誤」?

Barbara Streisand
發布: 2024-12-16 22:18:14
原創
874 人瀏覽過

Why is my PHP script throwing

mysqli::query(): MySQL 對像已關閉或無法獲取 MySQL 錯誤

問題

執行PHP腳本時,遇到以下情況錯誤:

  • PHP 7: mysqli::query(): 無法在第[line_number] 行的[script_path ] 中取得MySQL
  • PHP 8:未捕獲錯誤:MySQL 物件已經存在close

解釋

這些錯誤表明您的 PHP 腳本在 MySQL 連接物件關閉後嘗試執行 MySQL 查詢。

解決方案

確保您的 MySQL 連線物件之前仍處於活動狀態執行任何查詢。

// Check if the MySQL connection is open
if ($mysqli->connect_error) {
    // Handle the connection error
} else {
    // Execute the query
    $result = $mysqli->query($query);
}
登入後複製

可能原因

  • 過早關閉連線:確保僅關閉 MySQL 連線所有查詢執行完畢後。
  • 析構函數問題:如果仍有查詢需要執行,請避免在類別的析構函數(__destruct)方法中關閉MySQL連線。
  • 錯誤宣告的連接變數:檢查MySQL 連接變數(在本例中為 $mysqli)在整個過程中被正確宣告和分配。 script.

附加說明

  • 在類別 EventCalendar 提供的程式碼片段中,MySQL 連線在析構函數 (__destruct) 方法中關閉。如果在呼叫析構函數後仍需要查詢,這可能會成為問題。
  • 確保您使用正確的 PHP 版本和 MySQL 擴充功能。
  • 檢查 MySQL 伺服器日誌是否有任何其他錯誤訊息。

以上是為什麼我的 PHP 腳本拋出「mysqli::query(): MySQL 物件已關閉或無法取得 MySQL 錯誤」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板