ホームページ  >  記事  >  バックエンド開発  >  データベース接続における「null でのメンバー関数 prepare() の呼び出し」エラーを解決するにはどうすればよいですか?

データベース接続における「null でのメンバー関数 prepare() の呼び出し」エラーを解決するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-01 13:44:29840ブラウズ

How to Resolve the

Null メンバー関数エラー: データベース接続の問題

「null でのメンバー関数 prepare() の呼び出し」エラーが発生した場合、この問題は通常、クラス インスタンス内の初期化されていない変数が原因で発生します。あなたの場合、問題は $pdo 変数の初期化が欠落していることにあります。

Category クラス内では、 fetch_all() メソッドと fetch_data() メソッドの両方に PDO 接続が必要です。ただし、提供されたコードはこの接続を明示的に確立しません。このエラーを解決するには、クラス メソッドを呼び出す前に、$pdo 変数がグローバル スコープ内で初期化されていることを確認する必要があります。

<code class="php"><?php

// Instantiate a new PDO object globally
$pdo = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

class Category {
    public function fetch_all() {
        global $pdo;

        // Use the initialized $pdo variable to prepare the SQL query
        $query = $pdo->prepare("SELECT * FROM dd_cat");
        $query->execute();

        return $query->fetchAll();
    }

    public function fetch_data($cat_id) {
        global $pdo;

        // Use the initialized $pdo variable to prepare the SQL query
        $query = $pdo->prepare("SELECT * FROM dd_cat WHERE cat_id = ?");
        $query->bindValue(1, $cat_id);
        $query->execute();

        return $query->fetch();
    }
}

?></code>

$pdo 変数をグローバルに初期化し、それがクラス内で使用されるようにすることで、メソッドを使用すると、適切なデータベース接続が確立され、「null でのメンバー関数 prepare() の呼び出し」エラーが解決されます。

以上がデータベース接続における「null でのメンバー関数 prepare() の呼び出し」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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