Du tilføjer manuelt mellemrum omkring dit brugernavn, så det ser ud som om det ikke eksisterer:
$query = "SELECT * from User WHERE username=' ".$username." ' ";
^ ^
Skal være:
$query = "SELECT * from User WHERE username='".$username."' ";
Brug af en forberedt erklæring ville undgå dette problem og potentielle sql-injektionsproblemer på én gang:
$query = "SELECT * from User WHERE username=?";
Sørg også for at du konsekvent bruger dine tabel- og kolonnenavne:User
er ikke nødvendigvis det samme som user
.
Bemærk også at du aldrig bør gemme almindelige tekstadgangskoder i en database, bør du salt og hash dem .