我有一个从大型数据库中提取的结果集:
$result = mysql_query($sql);
我遍历此记录集一次以提取特定的数据位并使用while($row = mysql_fetch_array($result))
获取平均值。在页面的后面,我想再次遍历这个相同的记录集并输出所有内容 - 但因为我之前使用过记录集,所以我的第二个循环没有返回任何内容。
我最后通过循环遍历第二个相同的记录集($result2 = mysql_query($sql);
)来破解这个问题,但我讨厌两次进行相同的SQL调用。我可以多次循环遍历同一个数据集吗?
答案 0 :(得分:20)
使用:
mysql_data_seek($result, 0);
你得到这个“免费”,因为它已经被缓冲了。
作为单独的注释,您可以使用mysql_unbuffered_query
显式执行无缓冲的查询。
答案 1 :(得分:0)
使用SQL Cursors可以获得此方法