sql >> Base de Datos >  >> RDS >> Mysql

Excepción no detectada 'PDOException' con el mensaje 'SQLSTATE[HY093]:número de parámetro no válido'

Creo que esto podría deberse a que ha marcado cada enlace dos veces en la declaración, p. :firstname aparece en VALUES así como la cláusula ON DUPLICATE KEY UPDATE cláusula.

Solo pasa 8 enlaces a $stmt->execute pero PDO está buscando 16.

Puede intentar nombrarlos ligeramente diferentes en ON DUPLICATE KEY UPDATE cláusula que le da una consulta como, por ejemplo,

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;