mysqli_fetch_assoc清空数据?

时间:2009-12-22 22:13:56

标签: php mysql

我从mysql获得了一些数据。

$result = $forum_model->get_info($_SESSION['group_id']);

//第1步

while($user = mysqli_fetch_assoc($result))
{
    some code
}

但是当我后来某些行想要使用从mysql中提取的相同数据时它不起作用。

//第2步

while($user = mysqli_fetch_assoc($result))
{
    some code
}

是$结果清空?我必须做另一个

$result = $forum_model->get_info($_SESSION['group_id']);

获取相同的数据?

我试图在开始时这样做

$result = $forum_model->get_info($_SESSION['group_id']);
$result2 = $result;

然后在第二步中使用$ result2而不是它似乎也无效。

我怎样才能轻松解决这个问题?

2 个答案:

答案 0 :(得分:1)

是的,这段代码

while($user = mysqli_fetch_assoc($result)) {
   some code
}

遍历语句,移动结果指针直到它到达结果集的末尾。

为了重新运行查询(不确定为什么不能将结果存储在php数组中),您必须执行以下操作:

mysql_data_seek($result,0)

答案 1 :(得分:0)

两次拉出相同的结果集效率不高。我建议您修复代码以使用获取的结果行。 (如果你把它们作为对象获取它可能会有所帮助。)