ホームページ >データベース >mysql チュートリアル >PHP で「Null でのメンバー関数 query() の呼び出し」エラーが発生するのはなぜですか?

PHP で「Null でのメンバー関数 query() の呼び出し」エラーが発生するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-29 05:16:31978ブラウズ

Why am I getting the

「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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。