Saya pikir ini mungkin karena Anda telah menghapus setiap pengikatan dua kali dalam pernyataan, mis. :namadepan
muncul di VALUES
klausa serta ON DUPLICATE KEY UPDATE
klausa.
Anda hanya meneruskan 8 binding ke $stmt->execute
tapi PDO mencari 16.
Anda dapat mencoba menamainya sedikit berbeda di ON DUPLICATE KEY UPDATE
klausa yang memberi Anda kueri seperti misalnya
MASUKKAN KE am_administrator (namadepan,namabelakang,namapengguna,sandi,email,isSuperUser,dateCreated,dateLastModified) NILAI (:namadepan,:namabelakang,:namapengguna,:sandi,:email,:isSuperUser,:dateCreated,:dateLastModified) AKTIF 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;