Esto no es un error, proporciona dos parámetros para un solo marcador de posición.
$sql->execute(array(':username',$username));
debería ser
$sql->execute(array(':username' => $username));
Esto no es un error, proporciona dos parámetros para un solo marcador de posición.
$sql->execute(array(':username',$username));
debería ser
$sql->execute(array(':username' => $username));