如何避免两次使用mysql_fetch_assoc

时间:2013-02-28 04:54:34

标签: php mysql fetch

当前页面使用:

$row_rsMyData = mysql_fetch_assoc (rsMyData);

作为Dreamweaver创建的mysql查询的一部分。

稍后在我正在使用的页面中:

while ($row_rsMyData = mysql_fetch_assoc($rsMyData))

从数据库中提取文件名以添加到数组中。

问题是第一次获取获取行中的第一个记录,并且不会将数据留在那里进行第二次获取,这意味着结果是一个缺少一个记录的数组。

我可以使用什么代替第二次获取,或者在第二次获取之前有一种方法可以重置。

我试过了

mysql_data_seek()

但它似乎对我不起作用。

2 个答案:

答案 0 :(得分:0)

声明:

  $row_rsMyData = mysql_fetch_assoc (rsMyData);

不引用数组类型变量。要将多个值收集到数组中,请使用:

  $row_rsMyData[] = mysql_fetch_assoc (rsMyData);

答案 1 :(得分:0)

除了你不应该使用mysql_*函数之外,你可以在循环条件中检查$row_rsMyData的当前值,使用这些数据,然后在最后获取下一行循环:

while($row_rsMyData)
{
    //do stuff with the data in $row_rsMyData

    //fetch the next row
    $row_rsMyData = mysql_fetch_assoc($rsMyData);
}

这当然假设您无法删除Dreamweaver生成的行。