使用PHP 和MySQL 處理資料庫時,您可能會遇到需要多次存取相同查詢結果的情況使用mysqli_fetch_array()函數。然而,嘗試在同一結果集中多次使用 mysqli_fetch_array() 將導致空輸出。
這是因為 mysqli_fetch_array() 提取並推進結果集中的指標。因此,如果您嘗試再次取得相同的結果,將沒有任何資料可供檢索。
要解決此問題,您應該將資料操作與輸出分開。首先,從資料庫中取出所有資料並將其儲存在一個陣列中:
$db_res = mysqli_query($db_link, $sql);
$data = [];
while ($row = mysqli_fetch_assoc($db_res)) {
$data[] = $row;
}
注意:從 PHP 5.3 開始,您可以使用 fetch_all() 來取代明確循環:
$db_res = mysqli_query($db_link, $sql);
$data = $db_res->fetch_all(MYSQLI_ASSOC);
將資料儲存在陣列中後,您可以根據需要多次迭代它:
頂行:
foreach ($data as $row) {
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3