Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah `mysqli_stmt::bind_result()` Melemparkan Ralat 'Tidak Padan Mengikat' dalam Borang Log Masuk PHP?

Mengapakah `mysqli_stmt::bind_result()` Melemparkan Ralat 'Tidak Padan Mengikat' dalam Borang Log Masuk PHP?

Barbara Streisand
Lepaskan: 2024-12-24 03:49:27
asal
491 orang telah melayarinya

Why Does `mysqli_stmt::bind_result()` Throw a

Mysqli_stmt::bind_result() Ralat: Mengikat Tidak Padan

Apabila cuba melaksanakan borang log masuk PHP menggunakan pernyataan yang disediakan, pengguna mungkin menghadapi ralat berikut:

mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statement
Salin selepas log masuk

Ralat ini menunjukkan percanggahan antara bilangan pembolehubah yang dinyatakan dalam bind_result() dan bilangan medan yang dikembalikan oleh pernyataan yang disediakan. Untuk menyelesaikan isu ini, periksa coretan kod berikut:

$mysqli = new mysqli("localhost", "root", "", "security");

$stmt = $mysqli->prepare("SELECT username AND password FROM users WHERE username = ?");
$username = $_POST['name'];
$stmt->bind_param('s', $username);
$stmt->execute();
$stmt->bind_result($password, $username);
$stmt->fetch();
Salin selepas log masuk

Punca Punca:

Sintaks yang salah dalam pernyataan SELECT ialah punca ralat. Sintaks yang betul hendaklah:

SELECT username, password FROM users WHERE username = ?
Salin selepas log masuk

Penyelesaian:

Isu boleh diselesaikan dengan mengasingkan medan dalam pernyataan SELECT dengan koma dan bukannya "DAN. " Kod yang betul disediakan di bawah:

$mysqli->prepare("SELECT username, password FROM users WHERE username = ?");
Salin selepas log masuk

Dengan memastikan sintaks yang betul dalam pernyataan SELECT dan memerhatikan bilangan pembolehubah bind sepadan dengan bilangan medan dalam pernyataan yang disediakan, ralat mysqli_stmt::bind_result() boleh dicegah.

Atas ialah kandungan terperinci Mengapakah `mysqli_stmt::bind_result()` Melemparkan Ralat 'Tidak Padan Mengikat' dalam Borang Log Masuk PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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