開發人員經常遇到可怕的「致命錯誤:呼叫成員函數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中文網其他相關文章!