Eso no es totalmente cierto, la función mysql_num_rows sí tiene un argumento (aunque es opcional).
El problema es que ese argumento debe ser un apuntador a un resultado de una consulta, no la cadena de consulta. Si no se le da el argumento, se toma automáticamente el resultado de la última consulta realizada.
Ejemplo:
$resultado_consulta = mysql_query('SELECT * FROM tutabla', $enlace_mysql);
mysql_num_rows($resultado_consulta);
te devuelve la cantidad de resultados, y mientras no hagas otra consulta, será lo mismo que
mysql_num_rows();
Nunca está de más la página respectiva del manual,
php.net/nombre_de_la_funcion
en este caso:
mysql_num_rows
Saludos.