首頁  >  文章  >  資料庫  >  為什麼我收到錯誤「致命錯誤:在 null 上呼叫成員函數 query()」?

為什麼我收到錯誤「致命錯誤:在 null 上呼叫成員函數 query()」?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-28 12:32:02685瀏覽

Why am I getting the error

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

嘗試存取查詢時會出現此錯誤( ) 空變數的方法。通常,當嘗試在未建立資料庫連線的情況下執行資料庫查詢或 $db 變數尚未正確初始化時,會發生這種情況。

診斷:

在提供的程式碼,錯誤似乎源自第7行:

<code class="php">$result = $db->query("SELECT COUNT(UserId) FROM users WHERE UserName = '$username'");</code>

但是,程式碼的第3行初始化了$db變數:

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

解決方案:

要解決此問題,請確保$db 變數在query() 方法中使用之前已初始化且有效。在本例中,$db 變數似乎是在 user_exists() 函數外部定義的。要在函數內存取它,請將其作為參數傳遞:

<code class="php">function user_exists($db, $username) {
    // ...
}</code>

然後,像這樣呼叫函數:

<code class="php">user_exists($db, $username);</code>

以上是為什麼我收到錯誤「致命錯誤:在 null 上呼叫成員函數 query()」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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