Foros del Web » Programando para Internet » PHP »

Ayuda por error mysql_close en aplicacion php+mysql

Estas en el tema de Ayuda por error mysql_close en aplicacion php+mysql en el foro de PHP en Foros del Web. Buenas tengo un error en mi web me sale: Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in index.php on line 451 al ...
  #1 (permalink)  
Antiguo 06/11/2008, 18:30
 
Fecha de Ingreso: mayo-2008
Mensajes: 20
Antigüedad: 16 años, 6 meses
Puntos: 0
Sonrisa Ayuda por error mysql_close en aplicacion php+mysql

Buenas tengo un error en mi web me sale:
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in index.php on line 451

al principio de la aplicacion tengo:

Código:
include("common.php");
  /* Connect to RTG MySQL Database */
  $dbc=@mysql_connect ($host, $user, $pass) or
  $dbc=@mysql_connect ("$host:/var/lib/mysql/mysql.sock", $user, $pass) or 
     die ("MySQL Connection Failed, Check Configuration.");
  mysql_select_db($db,$dbc);
Luego al final:
Código:
mysql_close($dbc);
Lo unico que necesito es cerrar esa sesion de la database $dbc pero me sale el error con mysql_close.

Gracias de antemano
  #2 (permalink)  
Antiguo 06/11/2008, 18:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Ayuda por error mysql_close en aplicacion php+mysql

Hola alexistkd,

Realmente no necesitas cerrar la conexión, PHP la cierra automaticamente por ti al finalizar tu script, pero si realmente deseas hacer eso revisa que la variable $dbc sea un resource, es probable que la reescribas en alguna parte del proceso.

Saludos
  #3 (permalink)  
Antiguo 06/11/2008, 18:37
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda por error mysql_close en aplicacion php+mysql

Durante la ejecución del script no estarás reescribiendo ese recurso? Porque el que puedas seleccionar la base de datos usando $dbc significa que el recurso es creado con éxito.

Prueba haciendo un var_dump($dbc);

Saludos,
  #4 (permalink)  
Antiguo 06/11/2008, 18:54
 
Fecha de Ingreso: mayo-2008
Mensajes: 20
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Ayuda por error mysql_close en aplicacion php+mysql

bueno agrege el var_dump, se me kito el error ahora sale otro NULL
el script completo es d una web de hosting y por seguridad no kisiera pegar el codigo aki todo, Gracias
  #5 (permalink)  
Antiguo 06/11/2008, 19:00
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda por error mysql_close en aplicacion php+mysql

Si var_dump($dbc) te imprime NULL, entonces significa que el recurso fue reescrito/eliminado en algún punto de la ejecución de tu script.

Lo más práctico, como dice GatorV, es dejar que PHP termine la conexión al servidor MySQL automáticamente. mysql_close() debería ser usado sólo cuando hay conexiones múltiples, y además si estamos seguros de que ya no vamos a utilizar más esa conexión y aún nos queda un GRAN procesamiento por delante. Ten en cuenta que cerrar una conexión para abrirla después demanda una mayor carga del servidor.

De todas maneras, si aun insistes en cerrar la conexión, tienes que buscar en todo tu script el sitio en el que eliminas ese recurso.

Saludos,
  #6 (permalink)  
Antiguo 06/11/2008, 19:02
 
Fecha de Ingreso: mayo-2008
Mensajes: 20
Antigüedad: 16 años, 6 meses
Puntos: 0
bueno ya probe borrando mysql_close y nada, de ke recurso estamos hablando?

simplemente se me desbarata el diseño del site al kitar el mysql_close :(

Última edición por GatorV; 06/11/2008 a las 21:53
  #7 (permalink)  
Antiguo 06/11/2008, 19:09
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda por error mysql_close en aplicacion php+mysql

No tendría por qué, pues mysql_close no genera salidas ni tiene nada que ver con el resto de la ejecución del script. Simplemente es usado para cerrar una conexión y liberar memoria en el servidor.

Lo siento, pero creo que es lo más que podemos ayudarte. Tendrás que mostrarnos el código que usas (la parte de mysql_close() y su contexto) para ver mejor el problema.

Finalmente, si ya no deseas ver ese error, pero insistes en usar esa función, agrega un @ antes de la función: @mysql_close($dbc). Eso no repara el error, simplemente lo oculta, y ya te imaginarás qué se puede decir que los scripts programados de esa forma.

Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:51.