Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/08/2007, 21:58
Elalux
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 3 meses
Puntos: 22
Re: Cerrar conexiones a MySQL dentro de funciones

Creo que he resuelto el problema, aquí les pongo cómo lo hice por si a alguien le sirve.

Antes que nada tengo un archivo externo donde tengo puesto los parámetros de conexión mi base de datos (db_connection_data.php) :

Cita:
<?

$db_name="my_db_name";
$server="localhost";
$user="db_user";
$pass="db_pass";

?>
Muy bién, ahora me conecto a la base de datos en mi script principal

Cita:
<?

require("db_connection_data.php");
// Conexión a la DB
$dbh=mysql_connect ($server, $user, $pass) or die ('Error al conectarse: ' . mysql_error());
mysql_select_db ($db_name);
.
.
.
Código del script principal
.
.
.
mysql_close($dbh);
?>
Muy bién, ahora viene la parte importante, cuando yo me volvía a conectar dentro de la función, la nueva conexión usaba el mismo número de recurso que la conexión en el script principal.

Solución?

En lugar de hacer una nueva conexión dentro de la función, le envío el vínculo de conexión desde el script principal.

Llamada a la función:

Cita:
$valor=nombre_funcion ($dbh);
Función

Cita:
function nombre_funcion($main_connection) {

require("db_connection_data.php");
.
.
.
código de la función
.
.
.
}
Como pueden ver, no abro explícitamente ninguna nueva conexión a la base de datos dentro de la función.

Espero que les sea útil.

Saludos.