你能在PHP中重用一个mysql结果集吗?

时间:2011-01-09 06:42:38

标签: php mysql mysql-select-db

我有一个从大型数据库中提取的结果集:

$result = mysql_query($sql);

我遍历此记录集一次以提取特定的数据位并使用while($row = mysql_fetch_array($result))获取平均值。在页面的后面,我想再次遍历这个相同的记录集并输出所有内容 - 但因为我之前使用过记录集,所以我的第二个循环没有返回任何内容。

我最后通过循环遍历第二个相同的记录集($result2 = mysql_query($sql);)来破解这个问题,但我讨厌两次进行相同的SQL调用。我可以多次循环遍历同一个数据集吗?

2 个答案:

答案 0 :(得分:20)

使用:

mysql_data_seek($result, 0);

你得到这个“免费”,因为它已经被缓冲了。

作为单独的注释,您可以使用mysql_unbuffered_query显式执行无缓冲的查询。

答案 1 :(得分:0)

使用SQL Cursors可以获得此方法