Mysql
 sql >> Database >  >> RDS >> Mysql

Eccezione non rilevata 'PDOException' con messaggio 'SQLSTATE[HY093]:numero parametro non valido'

Penso che ciò potrebbe essere dovuto al fatto che hai decartato ogni rilegatura due volte nella dichiarazione, ad es. :firstname appare in VALUES nonché la clausola ON DUPLICATE KEY UPDATE clausola.

Passi solo 8 binding a $stmt->execute ma DOP ne cerca 16.

Potresti provare a nominarli in modo leggermente diverso in ON DUPLICATE KEY UPDATE clausola che ti fornisce una query come ad es.

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;