Rumah  >  Artikel  >  pembangunan bahagian belakang  >  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
Susan Sarandonasal
2024-11-03 08:35:02536semak imbas

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);
}
  • 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;
}
  • 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!

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