Rumah > Artikel > pangkalan data > Mengapakah `mysqli_stmt::fetch_array()` menyebabkan \"Fatal error: Call to undefined method mysqli_stmt::fetch_array()\"?
mysqli_stmt::fetch_array() Call Failure Explained
Dalam pengaturcaraan PHP, ralat "Fatal error: Call to undefined method mysqli_stmt:: fetch_array()" berlaku semasa operasi pangkalan data menggunakan pernyataan yang disediakan MySQLi. Ini timbul apabila cuba menggunakan kaedah fetch_array() pada objek mysqli_stmt.
Memahami Masalah
Ralat menunjukkan bahawa fetch_array() bukan kaedah yang sah untuk objek mysqli_stmt. Penyata yang disediakan dalam MySQLi mempunyai set kaedah mereka sendiri untuk mengambil data, iaitu fetch().
Penyelesaian: Menggunakan mysqli_stmt::fetch()
Untuk mendapatkan data daripada pernyataan yang disediakan, kaedah fetch() hendaklah digunakan dan bukannya fetch_array(). Kaedah fetch() mengembalikan tatasusunan yang diindeks secara berangka bagi data baris semasa.
Alternatif: mysqli_result::fetch_all()
Jika berbilang baris perlu diambil, kaedah mysqli_result::fetch_all() boleh digunakan. Kaedah ini mengembalikan tatasusunan tatasusunan bersekutu yang mewakili semua baris dalam set hasil.
Kod Disemak
Versi kod anda yang diperbetulkan ialah:
<code class="php">... $sql->execute(); $sql->bind_result($job); $data = array(); while ($sql->fetch()) { $data[] = array( 'label' => $job ); echo json_encode($data); }</code>
Atas ialah kandungan terperinci Mengapakah `mysqli_stmt::fetch_array()` menyebabkan \"Fatal error: Call to undefined method mysqli_stmt::fetch_array()\"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!