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