Rumah > pangkalan data > tutorial mysql > Mengapa Pertanyaan MySQL Saya Hanya Mengembalikan Satu Baris dalam PHP, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Pertanyaan MySQL Saya Hanya Mengembalikan Satu Baris dalam PHP, dan Bagaimana Saya Boleh Membetulkannya?

Mary-Kate Olsen
Lepaskan: 2024-12-02 15:21:11
asal
782 orang telah melayarinya

Why Does My MySQL Query Only Return One Row in PHP, and How Can I Fix It?

Mengenal pasti Isu MySQL Menghasilkan Keputusan Baris Tunggal

Apabila melaksanakan pertanyaan SQL menggunakan PHP, kadangkala anda mungkin menghadapi senario di mana MySQL hanya mengembalikan satu baris, walaupun pangkalan data mengandungi berbilang rekod padanan. Ini boleh membawa kepada hasil yang tidak dijangka dan penyelesaian masalah boleh mencabar.

Dalam contoh yang diberikan, skrip PHP sedang menanyakan jadual bernama fastsearch untuk baris yang lajur tag sepadan dengan nilai tertentu. Walau bagaimanapun, kod tersebut menggunakan fungsi mysql_fetch_assoc(), yang mengambil hanya baris pertama set hasil, yang membawa kepada paparan hanya satu rekod.

Menyelesaikan Isu Pengambilan Satu Baris

Untuk membetulkan isu ini dan mengambil semua baris yang sepadan daripada pangkalan data, kami boleh mengubah suai PHP kod seperti berikut:

$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

Di sini, kami menggunakan gelung sementara untuk mengulangi set hasil. Fungsi mysql_fetch_assoc() dipanggil dalam gelung, dan ia mengembalikan baris seterusnya setiap kali ia dilaksanakan. Gelung diteruskan sehingga tiada lagi baris untuk diambil, memaparkan semua rekod yang sepadan.

Penyelesaian menangani dua isu biasa:

  1. Taip dalam Pembolehubah Pertanyaan: Kod asal mempunyai kesilapan taip: $quer dan bukannya $query. Ini telah diperbetulkan.
  2. **Penggunaan yang Betul bagi mysql_fetch_assoc(): Selepas menyelesaikan kesilapan menaip, fungsi mysql_fetch_assoc() digunakan dengan betul dalam gelung. Ia dipanggil berulang kali untuk mengulangi setiap baris, memastikan semua rekod yang sepadan dicetak.

Atas ialah kandungan terperinci Mengapa Pertanyaan MySQL Saya Hanya Mengembalikan Satu Baris dalam PHP, dan Bagaimana Saya Boleh Membetulkannya?. 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