Esto no puedes hacerlo:
$result = mysql_query("$consulta", $link);
if($pass==$result)
Una consulta ejecutada con mysql_query() devuelve un "record-set" ... (resultados) los cuales han de ser "extraidos" hacia alguna variable .. ya sea un array, un objeto .. o accediendo directamente a un resultado concreto ..
Para eso tienes las funciones de msyql: mysql_fetch_xxxx() donde las xxx pueden ser array .. object .. assoc .. etc .. Y también para acceder directamente a un resultado tienes la función: mysql_result() ...
Esto tampoco es correcto:
$result = mysql_query("$consulta", $link);
$ok=mysql_num_fields($result);
en tal caso la función sería: mysql_num_rows() en lugar de "fields" (que son campos .. y tu lo que buscas sería nº de resultados arrojado si conicide tu condicional WHERE de tu consulta SQL) ...
Revisa estas funciones en en manual oficial de php:
www.php.net y sino, revisa cualquier tutorial de PHP que tenga tema sobre uso de Msyql con PHP ..
Un saludo,