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
Barbara Streisandasal
2024-12-24 03:49:27411semak imbas

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

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();

Punca Punca:

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

SELECT username, password FROM users WHERE username = ?

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 = ?");

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:
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