Rumah >pangkalan data >tutorial mysql >Mengapa mysqli_fetch_array() Gagal pada Penggunaan Berulang, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa mysqli_fetch_array() Gagal pada Penggunaan Berulang, dan Bagaimana Saya Boleh Membetulkannya?

Patricia Arquette
Patricia Arquetteasal
2024-12-03 04:33:12893semak imbas

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

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn