Mira, una función no puede acceder nativamente a una variable externa, a menos que uses global.
Ahora, estas mal en intentar acceder a una variable externa y al intentar acceder a una que pertenece a la misma función... Debes hacer return a la variable de conexión. Para qué?
Para que la variable perteneciente a la función se cargue con la variable de conexión y así poder usarla..
Te dejo un ejemplo práctico
Código PHP:
function asignar() {
$var = 'Hola!';
return $var;
}
echo $eje; // No imprime nada, variable no seteada
$eje = asignar();
echo $eje; //Imprime 'Hola!' porque la funcion regresa ese valor, ahora $eje contiene 'Hola'
/**********************/
function conectarse() {
$link = mysql_connect('localhost', 'usu', 'pass');
return $link;
}
mysql_close($link); /*Error, no existe la variable link porque es interna de la función, además de que no se ha llamado */
$linkk = conectarse();
mysql_close($linkk); /* Correcto, $linkk contiene el valor retornado por la función */
Saludos!