$row = $stmt->fetch(PDO::FETCH_ASSOC);
ist die Zeile, die Ihren Fehler verursacht.
Warum?
Weil es nichts zu holen gibt - im Array - nach einem Update
Denken Sie daran
Also, keine Ergebnismenge ... keine Party
Wenn Sie den Exit-Status Ihres Befehls wissen möchten, verwenden Sie einfach den Rückgabewert von execute()
Funktion
$rv = $stmt->execute(array('USERNAME' => $USERNAME));