Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Nomor parameter tidak valid:parameter tidak ditentukan Memasukkan data

Sekedar memberikan jawaban - karena kesalahan ini cukup umum - berikut beberapa penyebabnya:

1) :parameter nama tidak cocok dengan ikatan karena kesalahan (salah ketik?). Inilah yang terjadi di sini. Dia memiliki :alias dalam pernyataan SQL, tetapi terikat :username . Jadi ketika param binding dicoba, Yii/PDO tidak dapat menemukan :username dalam pernyataan sql, artinya "satu parameter pendek" dan menimbulkan kesalahan.

2) Benar-benar lupa menambahkan bindValue() untuk sebuah parameter. Ini lebih mudah dilakukan di Yii konstruksi lain seperti $critera , di mana Anda memiliki larik atau params ($criteria->params = array(':bind1'=>'test', ':bind2'=>'test) ).

3) Konflik aneh dengan CDataProvider Pagination dan/atau Sorting saat menggunakan together dan joins . Tidak ada cara spesifik dan mudah untuk mengkarakterisasi ini, tetapi ketika menggunakan kueri kompleks di CDataProviders, saya mengalami masalah aneh dengan parameter yang dijatuhkan dan kesalahan ini terjadi.

Salah satu cara yang sangat membantu untuk memecahkan masalah ini di Yii adalah dengan mengaktifkan logging parameter di file konfigurasi Anda. Tambahkan ini ke db . Anda array di file konfigurasi Anda:

'enableParamLogging'=>true,

Dan pastikan CWebLogRoute rute diatur di log . Anda bagian. Ini akan mencetak kueri yang diberikan dan kesalahan, dan semua parameter yang coba diikat. Sangat membantu!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membangun Sistem Newsletter Dengan PHP dan MySQL

  2. Cara Mengamankan Server MySQL/MariaDB

  3. Fungsi MySQL SIGN() – Cari Tahu Apakah Angka Positif atau Negatif di MySQL

  4. EEE MMM dd HH:mm:ss ZZZ yyyy format tanggal ke java.sql.Date

  5. 2 Cara Mendaftar semua Prosedur Tersimpan di MySQL