Sie sollten die Datenbank auf eine Übereinstimmung überprüfen und abfragen, nicht die Ergebnisse herunterfahren und lokal überprüfen. In diesem Sinne:
$password = md5($_POST['password']);
Dann auch ändern:
SELECT * FROM users WHERE username='$username' AND password='$password'
Aber ich würde mir auch die Verwendung von PDO
ansehen anstatt die Werte direkt in eine SQL-Abfrage zu stellen. Zumindest sollten Sie mysql_real_escape_string
um Injektionsangriffe zu vermeiden.