sql >> Database >  >> RDS >> Mysql

Niet-gevangen uitzondering 'PDOException' met bericht 'SQLSTATE [HY093]:ongeldig parameternummer'

Ik denk dat dit kan zijn omdat je elke binding twee keer hebt gedecareerd in de verklaring, b.v. :voornaam verschijnt in de VALUES clausule evenals de ON DUPLICATE KEY UPDATE clausule.

U geeft slechts 8 bindingen door aan de $stmt->execute maar PDO zoekt 16.

Je zou kunnen proberen ze een iets andere naam te geven in de ON DUPLICATE KEY UPDATE clausule die u een vraag geeft, zoals bijvoorbeeld

INSERT INTO am_administrator (firstName,lastName,gebruikersnaam,wachtwoord,e-mail,isSuperUser,dateCreated,dateLastModified) WAARDEN (:firstName,:lastName,:username,:password,:email,:isSuperUser,:dateCreated,:dateLastModified) AAN DUPLICATE KEY UPDATE firstName =:update_firstName,lastName =:update_lastName,gebruikersnaam =:update_username,password =:update_password,email =:update_email,isSuperUser =:update_isSuperUser,dateCreated =:update_dateCreated,date:update_dateLast =:update_dateCreated,date:update_dateLast




  1. Hoe dit te doen in Laravel, subquery waar in

  2. Hoe verbinding maken met MySQL DB als container in docker?

  3. Alles wat u moet weten over SQL CTE op één plek

  4. Een lijst met geldige tijdzones retourneren in Oracle Database