ホームページ  >  記事  >  データベース  >  「致命的なエラー: null でのメンバー関数 query() の呼び出し」というエラーが発生するのはなぜですか?

「致命的なエラー: null でのメンバー関数 query() の呼び出し」というエラーが発生するのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-28 12:32:02685ブラウズ

Why am I getting the error

「致命的なエラー: 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 サイトの他の関連記事を参照してください。

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