Bagaimana untuk Cekap Berulang Melalui Set Keputusan MySQLi dalam PHP?

DDD
Lepaskan: 2024-11-23 04:04:17
asal
999 orang telah melayarinya

How to Efficiently Iterate Through MySQLi Result Sets in PHP?

Lelaran Atas Set Keputusan MySQLi

Dalam PHP, lelaran atas hasil pertanyaan MySQL boleh dicapai menggunakan kaedah mysqli_query().

Untuk mengulangi set keputusan pertanyaan pilih uid daripada pangkalan pengguna, anda boleh menggunakan yang berikut gelung:

$output = mysqli_query($mysqli, "select uid from userbase");
foreach ($output as $row) {
    echo $row['uid'];
}
Salin selepas log masuk

Gelung ini akan mengambil dan memaparkan nilai uid dengan betul untuk setiap baris dalam set hasil. Ia menggunakan sintaks berorientasikan objek MySQLi, yang lebih ringkas dan cekap daripada sintaks prosedur.

Potensi Ralat

Ralat yang anda hadapi dalam kod anda mungkin disebabkan oleh penggunaan fetch_array() dengan tingkah laku lalai menjana set hasil yang mengandungi kedua-dua kunci diindeks dan bersekutu (MYSQLI_BOTH). Untuk membetulkannya, anda boleh menentukan tingkah laku yang diingini menggunakan MYSQLI_ASSOC atau MYSQLI_NUM sebagai hujah kedua untuk fetch_array().

Sebagai alternatif, anda boleh mengelak daripada menggunakan fetch_array() sama sekali dengan menggunakan mysqli_query() sebagai objek lelaran, menghapuskan keperluan untuk memanggil fetch_array() pada setiap lelaran baris.

Membetulkan Lelaran

Kod yang anda berikan juga mengandungi skema lelaran yang salah. Pembolehubah $i harus ditambah dalam gelung untuk mengakses baris berikutnya dalam set hasil, yang bermula dengan indeks 0.

Oleh itu, lelaran yang betul menggunakan fetch_array() ialah:

$i = 0;
$output = mysqli_query($mysqli, "select uid from userbase");
while ($row = $output->fetch_array(MYSQLI_ASSOC)) {
    echo $row['uid'];
    $i++;
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Cekap Berulang Melalui Set Keputusan MySQLi dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan