Allora ragioniamo per esclusione:
1. il problema non è nel codice
2. il problema non è nelle versione del server
quindi...
...il problema deve essere nel database!
sei sicuro che quando fai
$num_rows sia sempre 1?Codice PHP:
$num_rows = mysql_num_rows($result);
if ($num_rows == '1') {
....
non è che 'admin', '123' compare più volte in tabella?
fatti fare un
echo $num_rows;
per vedere se effettivamente è 1....