mettere l'errore mai vero?

Comunque:

1) perché l'esecuzione della query non ha la clausola "or die()" come la selezione del db?

2) "mysql_num_rows" scritto in quel modo significa niente. "mysql_num_rows($query)"

3) se quello che hai pubblicato è tutto il file, definisci la funzione checkLogin() ma non esegui nulla