ホームページ  >  記事  >  データベース  >  `mysqli_stmt::fetch_array()` が「致命的エラー: 未定義メソッド mysqli_stmt::fetch_array() への呼び出し」を引き起こすのはなぜですか?

`mysqli_stmt::fetch_array()` が「致命的エラー: 未定義メソッド mysqli_stmt::fetch_array() への呼び出し」を引き起こすのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-01 20:29:29983ブラウズ

Why is `mysqli_stmt::fetch_array()` causing a

mysqli_stmt::fetch_array() 呼び出し失敗の説明

PHP プログラミングでは、エラー「致命的エラー: 未定義メソッド mysqli_stmt:: の呼び出し」が発生します。 fetch_array()」は、MySQLi プリペアド ステートメントを使用したデータベース操作中に発生します。これは、mysqli_stmt オブジェクトで fetch_array() メソッドを使用しようとすると発生します。

問題を理解する

このエラーは、fetch_array() が mysqli_stmt オブジェクトに対して有効なメソッドではないことを示します。 mysqli_stmt オブジェクト。 MySQLi のプリペアド ステートメントには、データをフェッチするための独自のメソッド セット、つまり fetch() があります。

解決策: mysqli_stmt::fetch() を使用する

データを取得するには準備済みステートメントの場合は、 fetch_array() の代わりに fetch() メソッドを使用する必要があります。 fetch() メソッドは、現在の行のデータの数値インデックス付き配列を返します。

代替: mysqli_result::fetch_all()

複数の行をフェッチする必要がある場合は、 mysqli_result::fetch_all() メソッドを使用できます。このメソッドは、結果セット内のすべての行を表す連想配列の配列を返します。

改訂されたコード

コードの修正バージョンは次のようになります:

<code class="php">...
$sql->execute();
$sql->bind_result($job);

$data = array();

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

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

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