多次使用查询结果


Using results of query multiple times

如何多次使用查询结果

$query=...;
$resultsaved=mysql_query($query, $db);
for($i=0;$i<100;$i++){
    $result=$resultsaved;
     while($rowarray = mysql_fetch_array($result, MYSQL_NUM)){
        //do stuff depending on $i and $rowarray
     }
}

然而,在第一次迭代之后,$resultsaved被销毁了;有没有比$result=mysql_query($query,$db)更有效的方法一百次;

你不需要临时变量。正如有关mysql_fetch_array的文档所说:

返回与读取的行对应的数组,并移动 前方的内部数据指针。

因此,在 while 循环之后,您需要使用 mysql_data_seek 重置内部指针:

$query=...;
$result=mysql_query($query, $db);
for($i=0;$i<100;$i++){
     while($rowarray = mysql_fetch_array($result, MYSQL_NUM)){
        //do stuff depending on $i and $rowarray
     }
     mysql_data_seek($result, 0);
}