8

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

$result = mysql_query($sql);

我遍历这个记录集一次以提取特定的数据位并使用while($row = mysql_fetch_array($result)). 在页面的后面,我想再次循环通过相同的记录集并输出所有内容 - 但是因为我之前使用了记录集,所以我的第二个循环什么也不返回。

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

4

2 回答 2

22

利用:

mysql_data_seek($result, 0);

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

作为单独的说明,您可以使用mysql_unbuffered_query.

于 2011-01-09T06:47:50.040 回答
0

使用 SQL游标,您可以获得这种方法

于 2011-01-09T06:46:24.340 回答