ホームページ >バックエンド開発 >PHPチュートリアル >「mysql_fetch_array()」が実際にすべてのクエリ行の配列を返すのはいつですか?
mysql_fetch_array の問題を理解する
mysql_fetch_array() 関数を使用するときによくある間違いは、関数が関数からすべての行の配列を返すと想定していることです。クエリ。ただし、取得できるのは 1 行だけなので、最初の要素以上にアクセスしようとすると混乱が生じます。
コードの説明
提供されたコードはアーティストを取得しようとします。名前が「a」、「b」、「c」で始まるもの。クエリは $array に保存され、最初の行が $array_result にフェッチされます。ただし、$array_result[1] にアクセスしようとすると、「未定義のオフセット」エラーが発生します。これは、mysql_fetch_array() が最初の行のみを配列として返すためです。
解決策: 行の反復
クエリからすべての行を取得するには、mysql_fetch_array()関数はループ内で複数回呼び出す必要があります。例:
<code class="php">$array = mysql_query("SELECT artist FROM directory WHERE artist LIKE 'a%' OR artist LIKE 'b%' OR artist LIKE 'c%'"); while ($data = mysql_fetch_array($array)) { // Output or process each row data as needed var_dump($data); }</code>
この例では、ループはクエリ結果から各行を取得して処理し、各行の要素にアクセスする目的の機能を可能にします。
以上が「mysql_fetch_array()」が実際にすべてのクエリ行の配列を返すのはいつですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。