Rumah > pembangunan bahagian belakang > tutorial php > Mengapa pertanyaan MySQL saya hanya mengembalikan satu baris apabila dilaksanakan dalam PHP?

Mengapa pertanyaan MySQL saya hanya mengembalikan satu baris apabila dilaksanakan dalam PHP?

Susan Sarandon
Lepaskan: 2024-11-03 08:35:02
asal
566 orang telah melayarinya

Why is my MySQL query only returning one row when executed in PHP?

MySQL Hanya Mengembalikan Satu Baris daripada Pertanyaan

Masalah:

Apabila melaksanakan SQL pertanyaan yang sepatutnya mengembalikan berbilang baris, hanya satu baris sedang diambil menggunakan mysql_query() dan mysql_fetch_assoc() PHP. Pertanyaan SQL yang dilaksanakan secara langsung dalam PhpMyAdmin mengembalikan semua baris yang dijangkakan.

Penyelesaian:

Pilihan 1: Menggunakan Gelung untuk Mengulang Baris

$query = mysql_query("SELECT `title`,
                             `url_title`
                        FROM `fastsearch`
                       WHERE `tags`
                            LIKE '%$q%'
                       LIMIT 5");

while ($row = mysql_fetch_assoc($query)) {
    print_r($row);
}
Salin selepas log masuk
  • Kod ini menggunakan gelung sementara untuk mengulangi semua baris yang dikembalikan oleh pertanyaan.
  • Setiap baris diperuntukkan kepada pembolehubah $row dan boleh diakses dalam gelung.

Pilihan 2: Menggunakan mysql_fetch_array() untuk Mendapatkan Susunan Baris

$query = mysql_query("SELECT `title`,
                             `url_title`
                        FROM `fastsearch`
                       WHERE `tags`
                            LIKE '%$q%'
                       LIMIT 5");

$rows = array();
while ($row = mysql_fetch_array($query)) {
    $rows[] = $row;
}
Salin selepas log masuk
  • Kod ini menggunakan mysql_fetch_array() untuk mendapatkan tatasusunan baris.
  • Susun atur $rows akan mengandungi tatasusunan untuk setiap baris yang dikembalikan oleh pertanyaan.

Nota:

  • Masalah berlaku kerana mysql_fetch_assoc() hanya mengembalikan satu baris pada satu masa.
  • Nama pembolehubah yang salah eja $quer dan bukannya $query mungkin turut menyumbang kepada isu tersebut.

Atas ialah kandungan terperinci Mengapa pertanyaan MySQL saya hanya mengembalikan satu baris apabila dilaksanakan 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