MySQL フェッチ配列で限られた行を取得する
提供されたコードは、PHP の MySQL 拡張機能を使用してデータベースから複数の行を取得することを目的としています。ただし、最初の行のみにアクセスできるという問題が発生します。このクエリは、「a」、「b」、または「c」で始まるアーティストを取得します。ただし、最初の行を超えてその後行にアクセスしようとすると、未定義のオフセット エラーが発生します。
この問題の理由は、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 ($array_result = mysql_fetch_array($array)) { echo $array_result[0] . "\n"; // Additional processing for each row can be performed here. }</code>
このコードでは、while ループは結果セットから取得する行がなくなるまで mysql_fetch_array を呼び出し続けます。これにより、コードが必要に応じて各行を処理できるようになります。
以上がMySQL のフェッチ配列がクエリ結果の最初の行のみを取得するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。