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

Saludos mosestros, he aquí mi cuestión.

Tengo un script principal que abre una conexión a MySQL y la cierra al final del mismo.

Cita:
<?
// DB Connection
$dbh=mysql_connect ($server, $user, $pass) or die ('Error at connection!: ' . mysql_error());
mysql_select_db ($db_to_use);
.
.
.
Código principal
.
.
.
mysql_close($dbh);
?>
Ahora bién, dentro del código principal hay una función que necesita enviar consultas a la base de datos, para poder hacer esto, abro una conexión a MySQL dentro de la función, para esto utilizo un identificador de vínculo diferente al de la principal.

Cita:
function other_procedure ($sales_info) {

// DB Connection INSIDE the function
$dbh_internal=mysql_connect ($server, $user, $pass) or die ('Error at connection!: ' . mysql_error());
mysql_select_db ($db_to_use);

.
código de la función
.

mysql_close($dbh_internal);
}
El problema viene cuando al final, el script principal intenta cerrar su conexión a la base de datos, marca error 3 como si la conexión hubiese sido cerrada anteriormente.

Por lógica asumo que el problema es que al cerrar su propia conexión la función cierra también la conexión del código principal. Si no cierro la conexión dentro de la función, no marca ningún error.

Mis dudas son:

¿La función está cerrando ambas conexiones?

El script está en un servidor conmpartido y por lo tanto tiene un límite para conexiones abiertas a DB, Si no cierro la conexión que esta dentro de la función y sólo cierro la conexión del script principal, ¿Se cierran ambas?

Espero haberme explicado bién.

Desde ahora, agradezco cualquier ayuda.

Saludos.