Сам код выглядит нормально, но главная проблема, которую я вижу, заключается в том, что вы передаете пароли в виде простого текста.
Безопасно ли соединение клиент-сервер (т.е. с использованием SSL)
Безопасно ли соединение сервер-база данных
Если в любом случае кто-то может сесть на провод и наблюдать за проходящим трафиком, значит, у вас проблема с безопасностью.
Если бы это был я, я бы определенно имел SSL-соединение между клиентом и сервером.
Я бы позаботился о том, чтобы вы хранили хэш пароля в базе данных.
И я бы изменил ваш код на что-то вроде
//Pseduo Code
SELECT * FROM Table where UserName = $username
Get Row Back
if(MD5Hash($password) == DataRow[Password])
//Valid