$row = $stmt->fetch(PDO::FETCH_ASSOC);
è la riga che causerà il tuo errore.
Perché?
Perché non c'è niente da recuperare - nell'array - dopo un aggiornamento
Ricordalo
Quindi, nessun risultato impostato... nessuna festa
Se vuoi conoscere lo stato di uscita del tuo comando, usa semplicemente il valore di ritorno di execute()
funzione
$rv = $stmt->execute(array('USERNAME' => $USERNAME));