mm bueno, mirandolo bien (por si todavía no lo solucionastes):
Código PHP:
function consultar($consulta,$link_db){
$nom = mysql_query($consulta,$link_db) or die("<b>Consulta:</b> $consulta<p><br><b>Error:</b>".mysql_error());
return $nom;
}
$link_db=$mysql_connect(.......);
$consulta=consultar($consulta,$link_db);
While($row=mysql_fetch_array($consulta)){
// etc ....
}
Es decir .. por el ambito de las varialbles de funcion te faltaba indicar el link de conexion a la base de datos ..
Y .. el parámetro que devuelves (la consulta en si) .. la devuelve la propia funcion via tu return $nom .. pero lo hace "sobre si misma" .. dejando su valor donde lo llamaron .. He de ahi el ejemplo que se asigna a $consulta=el resultado de la llamada a la funcon consultar() ...
Un saludo,