使用mysql_* 函數處理MySQL 結果集時,出現一個常見問題- 是否可以循環遍歷多次使用相同的結果集?
通常,將 MySQL 查詢傳遞給 mysql_query 會產生結果set,使用 mysql_fetch_assoc 遍歷它以將各個行作為關聯數組存取。預設情況下,在完全遍歷完結果集後,指針到達末尾,從而無法再次循環遍歷結果。
但是,有一個解決方法可以重置指標並循環遍歷結果集
要實現此目的:
$result = mysql_query(/* Your query */); while($row = mysql_fetch_assoc($result)){ // Process the row here... } // Reset the pointer to the beginning mysql_data_seek($result, 0); while($row = mysql_fetch_assoc($result)){ // Process the row again... }
透過使用mysql_data_seek(0) 將指標移回開頭,可以多次遍歷相同的結果集。
但是,值得注意的是,通常不鼓勵這種做法。與在結果集的單次迭代中執行所有必要的處理相比,它被認為效率低且容易出錯。
以上是我可以使用 mysql_* 函數迭代 MySQL 結果集兩次嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!