Rumah >pembangunan bahagian belakang >tutorial php >Mengapa saya mendapat ralat 'Panggilan ke kaedah yang tidak ditentukan mysqli_stmt::get_result()'?

Mengapa saya mendapat ralat 'Panggilan ke kaedah yang tidak ditentukan mysqli_stmt::get_result()'?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-26 10:42:15611semak imbas

Why am I getting a

"mysqli_stmt::get_result()" panggilan kaedah isu tidak ditentukan

Semasa cuba menggunakan kaedah "get_result()" daripada "mysqli_stmt" Apabila mendapatkan hasil pertanyaan dalam objek, "Panggil kaedah tidak ditentukan" muncul. mysqli_stmt::get_result()" ralat.

Punca masalah:

Ralat menunjukkan bahawa kaedah "get_result()" tidak tersedia untuk objek "mysqli_stmt". Ini mungkin disebabkan oleh pemacu "mysqlnd" yang hilang.

Penyelesaian:

  1. Pasang pemacu mysqlnd:

    Pemandu ini berguna untuk menggunakan " get_result ()" kaedah adalah penting. Sila pastikan ia dipasang pada ruang web anda.

  2. Gunakan bind_result() dan fetch():

    Jika anda tidak boleh memasang pemacu "mysqlnd", anda boleh menggunakan "bind_result() kaedah ” dan “fetch()” untuk mendapatkan hasil pertanyaan. Kaedah ini tidak dipengaruhi oleh pemacu "mysqlnd". Kod sampel adalah seperti berikut:

$stmt->bind_result($emailVerified, $blocked);
$stmt->fetch();
  1. Semak mysqli_stmt->execute() Nilai pulangan:

    Pastikan kaedah "mysqli_stmt->execute()" telah berjaya dilaksanakan. Jika ia mengembalikan "false", tiada hasil akan ditetapkan untuk objek "stmt".

Contoh:

Berikut ialah kod diubah suai yang telah menyelesaikan masalah:

include 'conn.php';
$conn = new Connection();
$query = 'SELECT EmailVerified, Blocked FROM users WHERE Email = ? AND SLA = ? AND `Password` = ?';
$stmt = $conn->mysqli->prepare($query);
$stmt->bind_param('sss', $_POST['EmailID'], $_POST['SLA'], $_POST['Password']);

if ($stmt->execute()) {
    $stmt->bind_result($emailVerified, $blocked);
    $stmt->fetch();
    // Use $emailVerified and $blocked here...
} else {
    echo "Error executing statement: " . $stmt->error;
}

Atas ialah kandungan terperinci Mengapa saya mendapat ralat 'Panggilan ke kaedah yang tidak ditentukan mysqli_stmt::get_result()'?. 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