Rumah > Artikel > pembangunan bahagian belakang > Mengapakah ralat \"mysqli_fetch_all() Bukan Fungsi Sah\" Berlaku dalam PHP?
Mengendalikan "mysqli_fetch_all() Bukan Fungsi Sah" Ralat dalam PHP
Jika anda menghadapi ralat yang menunjukkan bahawa mysqli_fetch_all() bukan fungsi yang sah, ia mungkin disebabkan versi PHP anda sudah lapuk. mysqli_fetch_all() telah diperkenalkan dalam PHP 5.3.0, jadi versi 5.2.17 dan lebih awal tidak akan menyokong fungsi ini.
Penyelesaian:
Seperti yang dicadangkan oleh penyelesaian masalah anda sebelum ini , penyelesaiannya ialah menggunakan mysqli_fetch_assoc() dengan gelung sementara. Coretan kod berikut menunjukkan cara untuk mendapatkan semula baris satu demi satu menggunakan mysqli_fetch_assoc():
while ($row = $result->fetch_assoc()) { // Process the associative array containing a single row }
Gelung ini akan terus berulang melalui set hasil, memperuntukkan setiap baris kepada pembolehubah $row sebagai tatasusunan bersekutu.
Penukaran Tatasusunan Tersuai:
Sebagai alternatif, jika anda lebih suka mencipta tatasusunan bersekutu anda sendiri, anda boleh menggunakan pendekatan berikut:
$result_array = array(); while ($row = $result->fetch_row()) { $result_array[] = array_combine($fields, $row); }
Ini coretan kod mendapatkan semula baris menggunakan mysqli_fetch_row(), yang mengembalikan tatasusunan yang diindeks secara berangka. Fungsi array_combine() mengaitkan nama medan (diambil daripada $result->fetch_table_columns()) dengan nilai yang sepadan dalam $row, dengan berkesan mencipta tatasusunan bersekutu untuk setiap baris.
Atas ialah kandungan terperinci Mengapakah ralat \"mysqli_fetch_all() Bukan Fungsi Sah\" Berlaku dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!