「致命的なエラー: null でのメンバー関数 query() の呼び出し」の説明
このエラーは、クエリにアクセスしようとすると発生します( ) null 変数のメソッド。通常、これは、データベース接続を確立せずにデータベース クエリを実行しようとした場合、または $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 中国語 Web サイトの他の関連記事を参照してください。