Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Kod MySQLi PHP Saya Melemparkan Ralat 'Panggilan ke kaedah yang tidak ditentukan mysqli_stmt::get_result()'?

Mengapa Kod MySQLi PHP Saya Melemparkan Ralat 'Panggilan ke kaedah yang tidak ditentukan mysqli_stmt::get_result()'?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-26 21:11:10618semak imbas

Why Does My PHP MySQLi Code Throw a

MySQLi: Menyelesaikan "Panggilan ke kaedah yang tidak ditentukan mysqli_stmt::get_result() Ralat

Dalam PHP, apabila melaksanakan pertanyaan MySQL dengan MySQLi, ralat "Panggil ke kaedah yang tidak ditentukan mysqli_stmt::get_result()" mungkin timbul. Isu ini biasanya berlaku apabila pemacu asli MySQL (mysqlnd) tidak dipasang.

Pertimbangkan coretan kod berikut:

$stmt = $conn->mysqli->prepare($query);
$stmt->bind_param('sss', $_POST['EmailID'], $_POST['SLA'], $_POST['Password']);
$stmt->execute();
$result = $stmt->get_result();

Dalam contoh ini , baris $result = $stmt->get_result(); undefined method mysqli_stmt::get_result()" ralat. Ini kerana kaedah get_result() memerlukan pemacu mysqlnd, yang tidak selalu dipasang pada persekitaran pengehosan web.

Untuk membetulkan isu ini, pastikan mysqlnd pemacu didayakan Anda boleh mengesahkan pemasangannya dengan menyemak output phpinfo() atau menggunakan arahan seperti:

php -i | grep mysqlnd

Jika pemacu mysqlnd tidak dipasang, ikuti langkah berikut:

Untuk sistem berasaskan Debian:

sudo apt-get install php-mysqlnd

Untuk sistem berasaskan Red Hat:

sudo yum install php-mysqlnd

Untuk Mac OS X menggunakan Homebrew:

brew install php-mysqlnd

Untuk sistem Windows:

Pasang versi terbaharu PHP dengan pemacu mysqlnd didayakan.

Selepas memasang pemacu mysqlnd, adalah perlu untuk memulakan semula pelayan web untuk memuatkan perubahan. Setelah pemacu dipasang dan diaktifkan, kaedah get_result() akan berfungsi dengan betul.

Sebagai alternatif, jika mysqlnd tidak boleh dipasang, anda boleh menggunakan kaedah bind_result() dan fetch() untuk mendapatkan semula hasil pertanyaan . Kaedah ini kurang cekap daripada get_result() tetapi tidak memerlukan pemacu mysqlnd.

Atas ialah kandungan terperinci Mengapa Kod MySQLi PHP Saya Melemparkan 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