解決 mysqli_fetch_array() 困境
嘗試在同一結果集上多次使用 mysqli_fetch_array() 可能會導致資料無法存取。發生這種情況是因為 mysqli_fetch_array() 增量消耗結果。
資料操作分離
要避免此問題,請將資料操作與輸出分開。這是一種改良的方法:
1.資料選擇
$db_res = mysqli_query($db_link, $sql); $data = array(); while ($row = mysqli_fetch_array($db_res, MYSQLI_ASSOC)) { $data[] = $row; }
或者,在PHP 5.3 使用fetch_all():
$db_res = mysqli_query($db_link, $sql); $data = $db_res->fetch_all(MYSQLI_ASSOC);
此步驟將整個結果集檢索到陣列$data 中。
2。資料使用
現在,您可以多次迭代$data,而不會影響結果集。
頂行
foreach ($data as $row) {
以上是為什麼 mysqli_fetch_array() 重複使用時失敗,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!