mysql_* 関数を使用して MySQL 結果セットを複数回ループするにはどうすればよいですか? 質問する

mysql_* 関数を使用して MySQL 結果セットを複数回ループするにはどうすればよいですか? 質問する

何らかの理由で、MySQL の結果セットを 2 回実行する必要があります。それを実行する方法はありますか?

クエリを 2 回実行したくないし、行をどこかに保存して後で再利用できるようにスクリプトを書き直す必要もありません。

ベストアンサー1

やり方は以下のとおりです:

$result = mysql_query(/* Your query */);
while($row = mysql_fetch_assoc($result)){
 // do whatever here...
}

// set the pointer back to the beginning
mysql_data_seek($result, 0);
while($row = mysql_fetch_assoc($result)){
 // do whatever here...
}

しかし、これは正しい処理方法ではないと思います。最初のループ内で処理を行わないのはなぜでしょうか?

おすすめ記事