Você está adicionando espaços manualmente ao redor do seu nome de usuário para que pareça que ele não existe:
$query = "SELECT * from User WHERE username=' ".$username." ' ";
^ ^
Deveria estar:
$query = "SELECT * from User WHERE username='".$username."' ";
Usar uma instrução preparada evitaria esse problema e possíveis problemas de injeção de sql de uma só vez:
$query = "SELECT * from User WHERE username=?";
Certifique-se também de usar consistentemente seus nomes de tabela e coluna:
User
não é necessariamente o mesmo que user
. Observe também que você nunca deve armazenar senhas de texto simples em um banco de dados, você deve salte e use hash .