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