ホームページ >データベース >mysql チュートリアル >「致命的エラー: 未定義メソッド mysqli_stmt::fetch_array() の呼び出し」が発生するのはなぜですか?
「致命的エラー: 未定義メソッド 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 サイトの他の関連記事を参照してください。