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.