如何多次使用查询结果
$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)更有效的方法;一百次
答案 0 :(得分:2)
您不需要临时变量。正如documentation约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);
}