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
Lepaskan: 2024-12-26 21:11:10
asal
577 orang telah melayarinya

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();
Salin selepas log masuk

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
Salin selepas log masuk

Jika pemacu mysqlnd tidak dipasang, ikuti langkah berikut:

Untuk sistem berasaskan Debian:

sudo apt-get install php-mysqlnd
Salin selepas log masuk

Untuk sistem berasaskan Red Hat:

sudo yum install php-mysqlnd
Salin selepas log masuk

Untuk Mac OS X menggunakan Homebrew:

brew install php-mysqlnd
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan