Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Nicht abgefangene Ausnahme 'PDOException' mit Meldung 'SQLSTATE[HY093]:Invalid parameter number'

Ich denke, das könnte daran liegen, dass Sie jede Bindung zweimal in der Anweisung dekariert haben, z. :firstname erscheint in den VALUES -Klausel sowie die ON DUPLICATE KEY UPDATE Klausel.

Sie übergeben nur 8 Bindungen an $stmt->execute aber PDO sucht nach 16.

Sie könnten versuchen, sie im ON DUPLICATE KEY UPDATE etwas anders zu benennen Klausel, die Ihnen eine Abfrage wie z. B.

gibt

INSERT INTO am_administrator (firstName,lastName,username,password,email,isSuperUser,dateCreated,dateLastModified) VALUES (:firstName,:lastName,:username,:password,:email,:isSuperUser,:dateCreated,:dateLastModified) ON DUPLICATE KEY UPDATE firstName = :update_firstName,lastName = :update_lastName,username = :update_username,password = :update_password,email = :update_email,isSuperUser = :update_isSuperUser,dateCreated = :update_dateCreated,dateLastModified = :update_dateLastModified;