Rumah >pangkalan data >tutorial mysql >Mengapa mysqli_fetch_array() Gagal pada Penggunaan Berulang, dan Bagaimana Saya Boleh Membetulkannya?
Menyelesaikan Dilema mysqli_fetch_array()
Percubaan untuk menggunakan mysqli_fetch_array() beberapa kali pada set hasil yang sama boleh menyebabkan data tidak dapat diakses. Ini timbul kerana mysqli_fetch_array() menggunakan hasil secara berperingkat.
Pemisahan Manipulasi Data
Untuk mengelakkan isu ini, asingkan manipulasi data daripada output. Berikut ialah pendekatan yang dipertingkatkan:
1. Pemilihan Data
$db_res = mysqli_query($db_link, $sql); $data = array(); while ($row = mysqli_fetch_array($db_res, MYSQLI_ASSOC)) { $data[] = $row; }
Sebagai alternatif, gunakan fetch_all() dalam PHP 5.3 :
$db_res = mysqli_query($db_link, $sql); $data = $db_res->fetch_all(MYSQLI_ASSOC);
Langkah ini mendapatkan semula set hasil keseluruhan ke dalam tatasusunan, $data.
2. Penggunaan Data
Kini, anda boleh mengulang $data beberapa kali tanpa menjejaskan set hasil.
Baris Atas
foreach ($data as $row) {
Atas ialah kandungan terperinci Mengapa mysqli_fetch_array() Gagal pada Penggunaan Berulang, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!