Compara lo que has puesto
Código PHP:
$num_rows = @mysql_num_rows($link);
con lo que puso JoniJnm
Código PHP:
$num_rows = @mysql_num_rows($result);
PD: durante desarrollo es mejor no usar @. Bueno, siempre es mejor no usar @, y siempre es bueno comprobar los estados devueltos por las funciones.
PD2: Tampoco es bueno usar comparaciones booleanas cuando se quieren comparar numeros. 0 y false se evaluan igual en muchas comparaciones booleanas.