Rumah  >  Artikel  >  pangkalan data  >  Mengapakah `mysqli_stmt::fetch_array()` menyebabkan \"Fatal error: Call to undefined method mysqli_stmt::fetch_array()\"?

Mengapakah `mysqli_stmt::fetch_array()` menyebabkan \"Fatal error: Call to undefined method mysqli_stmt::fetch_array()\"?

Barbara Streisand
Barbara Streisandasal
2024-11-01 20:29:29983semak imbas

Why is `mysqli_stmt::fetch_array()` causing a

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn