Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysqli_stmt::bind_param() [mysqli-stmt.bind-param]:Liczba zmiennych nie odpowiada liczbie parametrów

$sql = 'INSERT INTO users (user_email, user_name, user_pref, user_password)
      VALUES(?, ?, ?, des_encrypt(substring(md5(rand()),1,8)))';

Definiuje tylko 3 symbole zastępcze, ale próbujesz pisać do 4.

$stmt->bind_param('ssss', $_POST['user_email'], $_POST['user_name'], $_POST['user_pref'], $_POST['user_password']);

Dla każdego ? wstawiasz w przygotowanej instrukcji SQL, musisz przekazać zmienną w bind_param.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy połączenia SQL otwierane za pomocą PDO w PHP muszą być zamknięte?

  2. Zapisywanie ramki danych do tabeli MySql DB

  3. Konwertuj istniejącą stronę PHP/MYSQL/ na natywne aplikacje IOS/Android

  4. Czy lepiej zwrócić jedno duże zapytanie, czy kilka mniejszych?

  5. Eksportowanie danych MYSQL do Excela/CSV przez php