come dice pasco "$username e $password sono comunque TRUE" quindi puoi controllare solo che non siano vuoti nel modo in cui ti ho detto "!empty()".
$mysql['host'] = "";
$mysql['pass'] = "";
$mysql['user'] = "";
$mysql['name'] = "";
..sono vuoti, impossibile, almeno l'host e name!

if ($pass == $result[2])
cosa è $pass?? Dove è settata?? intendevi $password??

prova a fare un'output di $result[2] e vedi cosa esce.

WHERE id = $username
..non è che ti stai sbagliando nella selezione del campo??

fa la query ed il fetch in chiaro levando @ all'inizio

ed in fine metti un bel echo mysql_error(); dopo ogni chiamata a mysql dagli errori capisci cosa correggere.
ciao
luigi