Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan MySQL Saya dalam PHP Hanya Mengembalikan Satu Baris?

Mengapa Pertanyaan MySQL Saya dalam PHP Hanya Mengembalikan Satu Baris?

Barbara Streisand
Barbara Streisandasal
2024-12-01 03:54:11703semak imbas

Why Does My MySQL Query in PHP Only Return One Row?

MySQL Query Mengembalikan Hanya Satu Baris: Penyahpepijatan dan Penyelesaian

Apabila bekerja dengan MySQL, menghadapi kejadian di mana skrip PHP hanya mengambil satu baris boleh membingungkan. Isu ini timbul apabila pertanyaan itu sendiri adalah sah, tetapi pelaksanaan skrip menghalangnya daripada mendapatkan semula semua baris yang dijangkakan.

Menyelesaikan Masalah

Pertimbangkan kod PHP yang disediakan, yang melaksanakan pertanyaan untuk mendapatkan semula baris daripada carian cepat jadual:

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

Walaupun pertanyaan SQL mengembalikan berbilang baris, skrip menunjukkan hanya satu baris. Tingkah laku ini berlaku kerana mysql_fetch_assoc() hanya mengambil satu baris secara lalai. Untuk mendapatkan semula semua baris, kita perlu mengulanginya menggunakan gelung.

Penyelesaian: Menggunakan gelung while untuk Mendapatkan Berbilang Baris

Coretan kod yang diperbetulkan akan menggunakan gelung while untuk mengulangi hasil pertanyaan dan mencetak setiap 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);
}

Dalam kod yang dikemas kini ini, mysql_fetch_assoc() dipanggil dalam gelung, dan pembolehubah $row diberikan baris semasa. Ini membenarkan gelung untuk berulang melalui setiap baris dalam hasil pertanyaan, membolehkan pencetakan semua baris.

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