Bueno, un consejo: mientras estes desarrollando tus scripts, quita los @. Lo unico que hacen (como sabras) es evitar que se visulicen los mensajes de error que te manda PHP. Asi que quita todos. Si te da error al conectarte a la BD unas veces si y otras no, no es problema de tu codigo, sino de el servidor de BD. Y por ultimo, bajate el manual oficial de PHP (
www.php.net) o consultalo online para ver la sintaxis y parametros necesarios de las funciones. Asi podrias ver que te falta un parametro en tu llamada a mysql_num_rows().
Suerte.
PD: El manual es tu amigo. Y seria mejor todavia si usase un IDE (editor) como el Maguma, que tiene integrada la ayuda de PHP y te muestra la pagina del manual solo con darle F1 estando sobre el nombre de la funcion en tu codigo.