Bagaimanakah saya boleh mengakses semua keputusan dalam set hasil MySQLi dan bukannya yang pertama sahaja?

Barbara Streisand
Lepaskan: 2024-11-16 19:02:03
asal
650 orang telah melayarinya

How do I access all results in a MySQLi result set instead of just the first one?

Cara Mengakses Keputusan dalam Set Keputusan MySQLi

Pertanyaan anda:

select uid from userbase 
Salin selepas log masuk

Gelung anda:

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

The Isu

Anda hanya memperoleh nilai pertama kerana fetch_array() mendapatkan semula satu baris daripada set hasil dan anda menggunakan indeks $i untuk mengakses elemen dalam baris itu. Walau bagaimanapun, setiap baris berikutnya akan mempunyai indeks yang berbeza, yang membawa kepada keputusan yang salah.

Penyelesaian

Terdapat beberapa penyelesaian untuk diulang ke atas set hasil:

  • Ambil Satu oleh Satu:

    Gunakan fetch_array() untuk mengambil satu baris pada satu masa, melaraskan indeks dengan sewajarnya:

    while ($row = $output->fetch_array()) {
        echo $row['uid'];
    }
    Salin selepas log masuk
  • Gunakan Pengulang MySQLI:

    Kaedah query() MySQL boleh digunakan sebagai objek boleh lelar, membolehkan anda mengulangi keputusan seperti berikut:

    foreach ($output as $row) {
        echo $row['uid'];
    }
    Salin selepas log masuk

Nota:

Anda boleh menggunakan sama ada MYSQLI_ASSOC untuk mendapatkan bersekutu tatasusunan atau MYSQLI_NUM untuk mendapatkan tatasusunan diindeks sebagai hasilnya ditetapkan.

Amalan Terbaik

Menggunakan sintaks berorientasikan objek MySQLi adalah disyorkan, kerana ia menyelaraskan kod. Selain itu, adalah penting untuk mempertimbangkan indeks baris dalam lelaran anda untuk mengakses nilai dengan betul.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengakses semua keputusan dalam set hasil MySQLi dan bukannya yang pertama sahaja?. 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