Bạn đang thêm các khoảng trắng xung quanh tên người dùng của mình theo cách thủ công nên nó sẽ giống như không tồn tại:
$query = "SELECT * from User WHERE username=' ".$username." ' ";
^ ^
Nên là:
$query = "SELECT * from User WHERE username='".$username."' ";
Sử dụng một câu lệnh đã chuẩn bị sẵn sẽ tránh được vấn đề đó và các vấn đề tiềm ẩn khi tiêm sql:
$query = "SELECT * from User WHERE username=?";
Ngoài ra, hãy đảm bảo rằng bạn sử dụng tên bảng và cột của mình một cách nhất quán:User
không nhất thiết phải giống với user
.
Cũng lưu ý rằng bạn không bao giờ nên lưu trữ mật khẩu văn bản thuần túy trong cơ sở dữ liệu, bạn nên muối và băm chúng .