Dalam percubaan untuk mendapatkan berbilang baris daripada jadual MySQL menggunakan PHP, anda mungkin menghadapi situasi di mana hanya satu baris dikembalikan, walaupun mempunyai beberapa baris yang sepadan dengan kriteria pertanyaan anda. Isu ini boleh timbul kerana pelaksanaan kod yang salah.
Dalam kod PHP yang disediakan:
$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); $query2 = mysql_fetch_assoc($quer); print_r($query2);
Masalahnya terletak pada penggunaan mysql_fetch_assoc($quer). Fungsi ini hanya mendapatkan semula baris pertama set hasil dan menetapkannya kepada $query2. Untuk mendapatkan semula semua baris yang sepadan dengan pertanyaan, anda perlu menggunakan gelung sementara untuk mengulangi set hasil.
Kod yang diperbetulkan ialah:
$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); while ($row = mysql_fetch_assoc($query)) { print_r($row); }
Pengubahsuaian ini menetapkan setiap baris kepada Pembolehubah $row dalam gelung while, memastikan pengambilan semula dan paparan semua baris yang sepadan.
Atas ialah kandungan terperinci Mengapa Pertanyaan MySQL PHP Saya Hanya Mengembalikan Satu Baris Apabila Berbilang Baris Wujud?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!