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!