Cita: Tengo q hacer una aplicacion de gestion de una biblioteca, y como de momento no me quiero meter a objetos en PHP (no he leido nada de referencia), quiero hacer la conexion a MySQL desde una funcion.
Pero no me funciona, y con razon, ya q por lo visto mysql_connect() se desconecta en cuanto se sale del ambito en q ha sido llamada.
Alguna solucion pa poder llamar a mi funcion de conexion desde donde quiera???
No sé si cuando hablas de "ambito" te refieres en la ejecución de un mismo script o que pretendes usar esa conexión en diferentes scripts.
Por la naturaleza de PHP .. al ejecutar un script y terminar su ejecución (final) se cierra toda conexión (no persistente) a tus BBDD, se deshace de toda memoria usada por variables y demás entre otras cosas. En definitiva .. todo proceso muere ahí mismo.
Si hablamos de un mismo script .. un "link" de conexión establecido tiene ambito para todo el scritp en curso . .incluido en llamadas bajo funciones
Así que puedes hacer tu función de conexión:
Código PHP:
function conexion(){
mysql_connect(...);
mysql_select_db(.....);
}
Y usar tus mysql_query() y demás donde quieras ..
Si usas un link de conexión exclusivo .. tendras que devolverlo en tu función y pasarlo como referencia o gloabal a otras funciones que lo usen.
Código PHP:
function conexion(){
$link=mysql_connect(...);
mysql_select_db(.....,$link);
return $link;
}
$link=conexion(...);
mysql_query($sql,$link);
Un saludo,