Rumah > Artikel > pembangunan bahagian belakang > Mengapa PHP 5.2.17 Melemparkan Ralat \"Panggilan ke kaedah yang tidak ditentukan mysqli_result::fetch_all()\"?
PHP MySQLi fetch_all() Fungsi: Ralat dan Penyelesaian Masalah
Dalam PHP, sambungan MySQLi menyediakan beberapa fungsi untuk berinteraksi dengan pangkalan data MySQL . Satu fungsi sedemikian ialah fetch_all(), yang mengambil semua baris hasil sebagai tatasusunan bersekutu. Walau bagaimanapun, apabila menggunakan PHP 5.2.17, pembangun mungkin menghadapi ralat: "Panggil ke kaedah yang tidak ditentukan mysqli_result::fetch_all()".
Penjelasan Ralat
Versi PHP 5.2.17 tidak menyokong fungsi fetch_all(). Fungsi ini telah diperkenalkan dalam PHP 5.3.0, jadi ia tidak tersedia dalam versi lama.
Penyelesaian
Untuk menyelesaikan isu ini, anda boleh menggunakan fetch_assoc() berfungsi sebaliknya. Fungsi ini mendapatkan semula satu baris daripada hasil sebagai tatasusunan bersekutu. Anda boleh menggelungkan hasil menggunakan gelung while untuk mendapatkan semua baris:
<code class="php">while ($row = $result->fetch_assoc()) { // Do what you need with the row. }</code>
Kaedah Alternatif
Jika anda perlu mendapatkan semua baris dalam satu tatasusunan bersekutu, anda boleh menggunakan penyelesaian berikut:
<code class="php">$rows = []; while ($row = $result->fetch_assoc()) { $rows[] = $row; }</code>
Kod ini bergelung melalui hasil dan menambah setiap baris ke tatasusunan $rows. Tatasusunan yang terhasil akan mengandungi semua baris daripada hasilnya.
Kesimpulan
Ingat untuk menyemak keserasian fungsi PHP dengan versi PHP khusus anda. Jika fungsi tidak tersedia, mungkin terdapat kaedah alternatif atau penyelesaian untuk mencapai kefungsian yang diingini.
Atas ialah kandungan terperinci Mengapa PHP 5.2.17 Melemparkan Ralat \"Panggilan ke kaedah yang tidak ditentukan mysqli_result::fetch_all()\"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!