ホームページ >データベース >mysql チュートリアル >「mysql_*」関数を使用して MySQL 結果セットを複数回反復処理するにはどうすればよいですか?

「mysql_*」関数を使用して MySQL 結果セットを複数回反復処理するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-06 03:46:11432ブラウズ

How Can I Iterate Through a MySQL Result Set Multiple Times Using `mysql_*` Functions?

mysql_* 関数を使用した MySQL 結果セットの複数回の走査

mysql_* 関数を使用して MySQL 結果セットに複数回アクセスすると、潜在的な挑戦。デフォルトでは、最初の反復の後、結果セット ポインターは進み、そ​​の後取得する行は残りません。

解決策:

結果セットを複数回ループするには、次のようにします。次の手順を実行します。

  1. クエリを実行し、結果をファイルに保存します。変数。
  2. mysql_fetch_assoc() を使用して結果を 1 回繰り返します。
  3. mysql_data_seek(result, 0) で結果セット ポインタを先頭にリセットします。
  4. ステップ 2 を繰り返して、結果セットを走査する

コード例:

$result = mysql_query(/* Your query */);
while ($row = mysql_fetch_assoc($result)) {
    // Do something with $row
}

// Reset the result set pointer
mysql_data_seek($result, 0);
while ($row = mysql_fetch_assoc($result)) {
    // Do something else with $row
}

代替アプローチ:

結果セットを複数回繰り返す必要を避けるための代替アプローチ。最初のループ内でデータを処理する方法を検討すると、より効率的なソリューションが得られる可能性があります。

以上が「mysql_*」関数を使用して MySQL 結果セットを複数回反復処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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