「Null でのメンバー関数 query() の呼び出し」エラーのトラブルシューティング
提供されたコードでは、エラー「致命的なエラー: 呼び出し」 null のメンバー関数 query() へ」は、login.php の 7 行目に発生します。このエラーは、mysqli オブジェクトであると想定される $db 変数が、query() メソッドを使用してクエリを実行しようとしたときに null であることを示します。
解決策:
コードを詳しく調べると、$db 変数の初期化が user_exists() 関数の外側で使用されていることがわかります。これは、関数内で $db が定義されていないため、null であることを意味します。この問題を解決するには、$db をパラメーターとして user_exists() 関数に渡す必要があります。修正されたコードは次のとおりです:
<code class="php">function user_exists($db, $username) { // ... }</code>
そして、login.php では、次のように関数を呼び出すことができます:
<code class="php">$result = $db->query("SELECT COUNT(UserId) FROM users WHERE UserName = '$username'");</code>
$db をパラメーターとして渡すことで、関数は mysqli オブジェクトにアクセスでき、クエリを正常に実行できます。
以上がPHP で「Null でのメンバー関数 query() の呼び出し」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。