Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2011, 15:49
Avatar de stramin
stramin
 
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Saber cuando una conexión fue cerrada

Hola a todos, espero que puedan ayudarme con este problema.

Actualmente tengo un sitio que posee varios includes dependiendo de varias variables de sesion, cuando un archivo necesita abrir una conexion lo hace así:

if(!isset($cnx))include("cnx.php");

O sea pregunta si la conexión existe y si no existe incluye un archivo donde se crea en una variable llamada $cnx

Luego de ejecutar todo lo necesario pregunto si existe y si existe la cierro:

if(isset($cnx)) mysql_close($cnx);

Hasta ahí todo bien, el problema aparece cuando se abre la conexión mas de una vez (2 archivos incluidos que tienen conexiones)

o sea el problema es cuando sucede esto:

if(!isset($cnx))include("cnx.php");
if(isset($cnx)) mysql_close($cnx);
if(!isset($cnx))include("cnx.php");
if(isset($cnx)) mysql_close($cnx);

En la cuarta linea resulta que la variable existe aunque la conexión está cerrada. y no puede cerrarla lo que me da este mensaje:

Warning: mysql_close(): 3 is not a valid MySQL-Link resource in C:\AppServ\www\bailac\test.php on line 4

Las preguntas serían entonces, como puedo saber si la conexión esta abierta para cerrarla?, y por que no puedo abrir y cerrar la conexión 2 veces?

Atento a sus respuestas, gracias por anticipado!
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D