如何修復 PHP 和 MySQL 中的「致命錯誤:在 null 上呼叫成員函數 query()」錯誤?

DDD
發布: 2024-10-27 20:29:01
原創
167 人瀏覽過

How to Fix the

避免「致命錯誤:在null 上呼叫成員函數query()」

開發人員經常遇到可怕的「致命錯誤:呼叫成員函數query( )在使用PHP 和MySQL 時出現null" 錯誤。當在尚未初始化或遺失連線的 MySQL 連線上呼叫 query() 方法時,會出現此錯誤。要解決此問題,可以採取幾個步驟。

第 1 步:檢查變數初始化

確保 MySQL 連線已正確實例化並指派給正確的變數。在提供的程式碼中,錯誤發生在第7行,因為變數$db尚未在函數user_exists內初始化。

解決方案:
將資料庫連接初始化移到函數外,如下面的程式碼所示:

<code class="php"><?php
$db = new mysqli('127.0.0.1', 'root', '', 'wisconsindairyfarmers');

function user_exists($username) {
    global $db;
    // Rest of the function's code
}</code>
登入後複製

將$db 變數設為全域變量,可以在user_exists 函數中存取它。

第 2 步:檢查連線狀態

如果與 MySQL 伺服器的連線遺失,也可能會發生該錯誤。驗證 MySQL 伺服器是否正在運作以及用於連接的憑證是否正確。

解決方案:
如果 MySQL 伺服器已關閉或憑證不正確,您可以檢查使用 mysqli_connect_errno() 和 mysqli_connect_error() 函數的連線狀態。例如:

<code class="php">if(mysqli_connect_errno()) {
    echo "Could not connect to the MySQL server";
} else {
    // Proceed with the connection if it's successful
}</code>
登入後複製

依照下列步驟,您可以解決「Fatal error: Call to a member function query() on null」錯誤,並確保與 MySQL 資料庫的穩定連線。

以上是如何修復 PHP 和 MySQL 中的「致命錯誤:在 null 上呼叫成員函數 query()」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!