ホームページ >データベース >mysql チュートリアル >「致命的エラー: 未定義メソッド mysqli_stmt::fetch_array() の呼び出し」が発生するのはなぜですか?

「致命的エラー: 未定義メソッド mysqli_stmt::fetch_array() の呼び出し」が発生するのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-02 10:38:30371ブラウズ

Why Am I Getting

「致命的エラー: 未定義メソッド mysqli_stmt::fetch_array() への呼び出し」の問題を理解する

PHP の mysqli を使用して MySQL データベースを操作する場合拡張機能を拡張すると、開発者は「致命的なエラー: 未定義のメソッドの呼び出し」が発生する可能性があります。 mysqli_stmt::fetch_array()」エラー。このエラーは、fetch_array() メソッドを使用してプリペアド ステートメントからデータを取得しようとすると発生しますが、このメソッドはプリペアド ステートメントでは使用できません。

問題の解決

これを解決するにはこの問題を解決するには、MySQLi のプリペアド ステートメントからデータを取得するための正しい方法を使用する必要があります。 fetch_array() の代わりに、単一レコードを取得する場合は fetch() を使用するか、複数のレコードを取得する場合は fetch_all() を使用する必要があります。修正されたコードは次のとおりです。

<code class="php">$search = "player";

($sql = $db->prepare('select job from jobs where job like ?'));

$sql->bind_param('s', $search);
$sql->execute();
$sql->bind_result($search);

$data = array();

while ($sql->fetch(MYSQLI_ASSOC)) {
    $data[] = array(
        'label' => $row['job']  
    );
    echo json_encode($data);
}

$sql->close();
$db->close();</code>

正しいメソッド mysqli_stmt::fetch() を使用すると、エラーが解消され、MySQLi の準備されたステートメントからデータを正常に取得できます。

以上が「致命的エラー: 未定義メソッド mysqli_stmt::fetch_array() の呼び出し」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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