2013-02-28 69 views
0

当前页面使用:怎样避免使用mysql_fetch_assoc两次

$row_rsMyData = mysql_fetch_assoc (rsMyData); 

如Dreamweaver中创建MySQL查询的一部分。

后来在页面我使用:

while ($row_rsMyData = mysql_fetch_assoc($rsMyData)) 

从数据库中获取的文件名添加到一个数组。

问题是第一次读取获取行中的第一条记录,并且不保留第二次读取的数据,意味着结果是一个记录丢失的数组。

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

我已经试过

mysql_data_seek() 

但它似乎并没有为我工作。

+2

[**请不要在新代码中使用'mysql_ *'函数**](http://bit.ly/phpmsql)。他们不再被维护[并且被正式弃用](http://j.mp/XqV7Lp)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。 – 2013-02-28 04:57:32

回答

0

声明:

$row_rsMyData = mysql_fetch_assoc (rsMyData); 

不引用阵列类型的变量。为了收集多个值到一个数组,而不是使用:

$row_rsMyData[] = mysql_fetch_assoc (rsMyData); 
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生成的行的任何操作。

相关问题