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

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

Mary-Kate Olsen
リリース: 2024-10-28 12:32:02
オリジナル
754 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート