Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Pertanyaan MySQL Saya Hanya Mengembalikan Satu Baris Apabila Saya Menjangkakan Berbilang?

Mengapa Pertanyaan MySQL Saya Hanya Mengembalikan Satu Baris Apabila Saya Menjangkakan Berbilang?

Susan Sarandon
Susan Sarandonasal
2024-11-02 17:27:29481semak imbas

Why Does My MySQL Query Only Return One Row When I Expect Multiple?

Membetulkan Baris MySQL yang Dipaparkan dengan Salah

Menghadapi isu di mana MySQL hanya mengembalikan satu baris apabila hasil yang dijangkakan sepatutnya berbilang? Mari terokai kod PHP ini:

<code class="php">$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5");
$query2 = mysql_fetch_assoc($query);
print_r($query2);</code>

Kod ini bertujuan untuk mengambil lima baris pertama yang sepadan daripada jadual carian pantas berdasarkan pertanyaan carian. Walau bagaimanapun, isu ini timbul disebabkan penggunaan mysql_fetch_assoc yang salah.

Menggunakan Gelung Sementara untuk Meulangi Baris

Untuk menyelesaikan masalah ini, kita perlu menggunakan gelung sementara untuk mengulangi semua baris yang sepadan dan memaparkannya satu demi satu. Berikut ialah kod yang diperbetulkan:

<code class="php">$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5");
while ($row = mysql_fetch_assoc($query)) {
    print_r($row);
}</code>

Dalam kod yang dikemas kini ini:

  1. Pembolehubah $query dieja dengan betul.
  2. Gelung sementara digunakan untuk berulang set keputusan.
  3. $row diberikan baris semasa menggunakan mysql_fetch_assoc di dalam gelung.
  4. print_r($row) memaparkan baris semasa setiap kali melalui gelung.

Nota Tambahan:

  • Pastikan sambungan MySQL dipasang dan didayakan dalam konfigurasi PHP anda.
  • Sahkan bahawa pembolehubah $q mengandungi yang betul pertanyaan carian.
  • Baris dikembalikan dalam tatasusunan bersekutu, di mana nama medan adalah kunci.
  • Kod yang diperbetulkan akan memaparkan semua baris yang sepadan sehingga had yang ditentukan (5 dalam kes ini) .

Atas ialah kandungan terperinci Mengapa Pertanyaan MySQL Saya Hanya Mengembalikan Satu Baris Apabila Saya Menjangkakan Berbilang?. 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