如何重置MySQL资源的PHP指针?

如何重置MySQL资源的PHP指针?,php,Php,可能重复: 我的PHP脚本中有2个while循环,用于处理数据库中的数据列表 $results = mysql_query("SELECT * FROM myTable"); while ($result = mysql_fetch_object($results)) { // do stuff } reset($results); while ($result = mysql_fetch_object($results)) { // do some more stuff

可能重复:

我的PHP脚本中有2个while循环,用于处理数据库中的数据列表

$results = mysql_query("SELECT * FROM myTable");
while ($result = mysql_fetch_object($results))  {
    // do stuff
}

reset($results);
while ($result = mysql_fetch_object($results))  {
    // do some more stuff
}
但是,reset()函数不是在MySQL资源中重置我的指针。事实上,它会产生一个错误:

“警告:reset()[function.reset]:传递的变量不是数组或 对象位于/home/cs179_team13/public_html/timeTests/results.php中 第133行。”


为什么??如何为MySQL资源重置PHP指针?

您可以使用函数
MySQL\u data\u seek

bool mysql\u data\u seek(资源$result,int$row\u number)


更多信息请访问。

您不需要这种丑陋的方式。
给自己准备一个数组

$data = sql_to_arr("SELECT * FROM myTable");
foreach ($data as $row)  {
    // do stuff
}
foreach ($data as $row)  {
    // do stuff
}
foreach ($data as $row)  {
    // do stuff
}

这是处理数据更方便的方法

传递与0一起返回的结果集

mysql_data_seek($resultset, 0) ;//reset result set

无法重置
资源
类型-它不是数组。再问一遍,谢谢。但是,我是否可以避免再次执行查询?我不想重复我自己。
mysql\u data\u seek($results,0)我不想重复我自己的话-您可以将查询放入字符串并使用它两次,当然可以吗?