$row = $stmt->fetch(PDO::FETCH_ASSOC);
est la ligne qui causera votre erreur.
Pourquoi ?
Parce qu'il n'y a rien à récupérer - dans le tableau - après une mise à jour
N'oubliez pas que
Donc, pas de jeu de résultats... pas de fête
Si vous voulez connaître l'état de sortie de votre commande, utilisez simplement la valeur de retour de execute()
fonction
$rv = $stmt->execute(array('USERNAME' => $USERNAME));