Memahami Pendapatan Satu Baris dalam Interaksi MySQL
Dalam kod yang anda sediakan, anda menggunakan fungsi mysql_query() untuk mendapatkan keputusan ditetapkan daripada pangkalan data MySQL dan seterusnya cuba untuk mengambil baris menggunakan mysql_fetch_array(). Walau bagaimanapun, anda menghadapi masalah di mana hanya baris pertama boleh diakses.
Fungsi mysql_fetch_array() mendapatkan semula baris daripada set hasil dan mewakilinya sebagai tatasusunan diindeks. Dalam kes anda, setiap baris sepadan dengan set nama artis yang sepadan yang bermula dengan "a," "b," atau "c."
Apabila anda melaksanakan mysql_fetch_array() kali pertama, ia meletakkan yang pertama baris hasil yang ditetapkan ke dalam pembolehubah $array_result, menjadikan $array_result[0] tersedia. Walau bagaimanapun, panggilan seterusnya kepada mysql_fetch_array() tanpa menyatakan parameter akan sentiasa mengembalikan baris pertama, menggantikan hasil sebelumnya.
Untuk mengambil berbilang baris daripada set hasil, anda perlu mengulangi fungsi mysql_fetch_array() dalam gelung. Sebagai contoh, anda boleh menggunakan gelung sementara atau foreach untuk lelaran melalui set hasil, memanggil mysql_fetch_array() dalam setiap lelaran dan menyimpan tatasusunan yang terhasil dalam pembolehubah. Ini akan membolehkan anda mengakses setiap baris secara individu dan menggemakan kandungannya seperti yang dikehendaki.
Berikut ialah contoh menggunakan gelung sementara:
$array = mysql_query("SELECT artist FROM directory WHERE artist LIKE 'a%' OR artist LIKE 'b%' OR artist LIKE 'c%'"); while($row = mysql_fetch_array($array)) { var_dump($row); // Outputs contents of each row }
Gelung ini akan berulang melalui set hasil dan mengeluarkan kandungan setiap baris, membolehkan anda mengakses dan menggemakan semua data yang tersedia daripada pertanyaan.
Atas ialah kandungan terperinci Mengapa MySQL `mysql_fetch_array()` Hanya Mengembalikan Baris Pertama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!