Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Saya Mendapat Ralat \"Bilangan Pembolehubah Ikatan Tidak Padan dengan Bilangan Medan\" dalam Pertanyaan INSERT Saya?

Mengapa Saya Mendapat Ralat \"Bilangan Pembolehubah Ikatan Tidak Padan dengan Bilangan Medan\" dalam Pertanyaan INSERT Saya?

Susan Sarandon
Susan Sarandonasal
2024-10-28 09:41:29966semak imbas

Why Am I Getting a

INSERT Query Timbul Isu: Bilangan Pembolehubah Ikatan Tidak Serasi dengan Penyata Disediakan

Dalam kod PHP anda, mesej ralat menunjukkan ketidakpadanan antara bilangan pembolehubah terikat dan medan dalam pernyataan yang disediakan. Khususnya, amaran itu berbunyi:

"Amaran: mysqli_stmt::bind_result(): Bilangan pembolehubah mengikat tidak sepadan dengan bilangan medan dalam pernyataan yang disediakan"

Ralat ini berlaku dalam kod berikut :

if($stmt = $conn -> prepare("INSERT INTO login(user, pass) VALUES(?, ?)")) {

  /* Bind parameters s - string, b - blob, i - int, etc */
  $stmt -> bind_param("ss", $user, $pw);

  /* Execute it */
  $stmt -> execute();

  /* Bind results */
  $stmt -> bind_result($user, $pw);

  /* Close statement */
  $stmt -> close();
  $userId = $conn->insert_id;
}

Memahami Isu

Ralat berpunca daripada percubaan anda untuk mengikat pembolehubah hasil ($pengguna dan $pw) kepada pernyataan yang tidak mengembalikan sebarang keputusan. Dalam kes ini, pertanyaan INSERT tidak mempunyai klausa SELECT atau prosedur tersimpan yang mengembalikan nilai. Oleh itu, pembolehubah hasil pengikatan adalah tidak diperlukan.

Menyelesaikan Isu

Untuk menyelesaikan isu, cuma alih keluar baris yang mengikat pembolehubah hasil:

$stmt -> bind_result($user, $pw);

Dengan mengalih keluar baris ini, anda menghapuskan ketidakpadanan antara bilangan pembolehubah ikatan (0) dan bilangan medan dalam pernyataan yang disediakan (juga 0). Ini sepatutnya menyelesaikan ralat dan membenarkan kod anda untuk dilaksanakan dengan jayanya.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \"Bilangan Pembolehubah Ikatan Tidak Padan dengan Bilangan Medan\" dalam Pertanyaan INSERT Saya?. 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