ホームページ  >  記事  >  バックエンド開発  >  MySQL のフェッチ配列がクエリ結果の最初の行のみを取得するのはなぜですか?

MySQL のフェッチ配列がクエリ結果の最初の行のみを取得するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-20 14:31:29888ブラウズ

Why Does MySQL Fetch Array Only Retrieve the First Row of a Query Result?

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

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