2013-02-28 91 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生成的行的任何操作。

相關問題