首頁 >資料庫 >mysql教程 >為什麼 mysqli_fetch_array() 重複使用時失敗,如何修復?

為什麼 mysqli_fetch_array() 重複使用時失敗,如何修復?

Patricia Arquette
Patricia Arquette原創
2024-12-03 04:33:12977瀏覽

Why Does mysqli_fetch_array() Fail on Repeated Use, and How Can I Fix It?

解決 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn