Foros del Web » Programando para Internet » PHP »

Warning: mysql_close()

Estas en el tema de Warning: mysql_close() en el foro de PHP en Foros del Web. Hola muchachos(as): Bueno es lo que dice, tengo problemas porque manda ese error Warning: mysql_close(), por lo que he visto corresponde al cierre de bd ...
  #1 (permalink)  
Antiguo 12/12/2005, 15:00
Avatar de ciopatrick  
Fecha de Ingreso: diciembre-2003
Mensajes: 189
Antigüedad: 20 años, 11 meses
Puntos: 0
Warning: mysql_close()

Hola muchachos(as):

Bueno es lo que dice, tengo problemas porque manda ese error Warning: mysql_close(), por lo que he visto corresponde al cierre de bd ... bien el problema es que no se como evitar este error.

Les explico tengo las conexiones de esta forma pagina

CONEXIO_00.php

<?php
error_reporting (E_ALL);
$Servido_Pr = "localhost";
$Usuario_Pr = "root";
$Passwor_Pr = "";
$Base_BD_04 = "bASE1";
//Conecta el Servidor
$Conexion_04 = mysql_connect($Servido_Pr,$Usuario_Pr,$Passwor_Pr) ;
if(!$Conexion_04){
echo("<b>Error:<br>Al tratar de conectarse a la Base Datos</b><br><br>Número del error: ".mysql_errno());
mysql_close($Conexion_04);
exit;}
//Conecta con BD
if (!mysql_select_db($Base_BD_04,$Conexion_04)){
echo("<b>Error:<br>No se pudo conectar en forma correcta con Base Datos</b><br><br>Número del error: ".mysql_errno());
mysql_close($Conexion_04);
exit;}
?>

CONEXIO_CIERRE_00.php

<?php mysql_close($Conexion_04); ?>



la pagina Seria haci.........


// Grabar Documentos de Transporte DocTranspVirt
include "Conex_04.php"; // AQUI ABROOOOOOOOOO
$Consulta = "Select * From Ansp Where Despacho=$DatoCaja And Despachador='$CodigoAgente' Order By Secuencia Asc";
$Resultado = mysql_query($Consulta,$Conexion_04);
if (mysql_num_rows($Resultado) > 0){
$Tres=0;
while ($row = mysql_fetch_assoc($Resultado)){
$Uno = $row['NroDoc'];
$Dos = $row['Despacho'];
$Tres++;
$Cuatro = $row['Fecha'];
$Cinco = $row['Despachador'];
$Seis = $IddelUsuario;

include "Conex_02.php";
$Grabar = "INSERT INTO DocTranspVirt(NroDoc,Despacho,Secuencia,Fecha,Desp achador,Quien) VALUES ('$Uno','$Dos','$Tres','$Cuatro','$Cinco','$Seis') ";
$Graboo = mysql_query($Grabar,$Conexion_02);
include "Conex_Cerrar_02.php";
//mysql_free_result($Grabar);
//mysql_free_result($Graboo);
unset($Grabar);unset($Graboo);
}
}
include "Conex_Cerrar_04.php"; ///// AQUI CIERROOOOOOOO
//mysql_free_result($Consulta);
mysql_free_result($Resultado);
unset($Consulta);unset($Resultado);



Bueno todo funciona perfecto, pero estos mensajes me tienen enfermo y no se como solucionar.... una alternativa seria que PREGUNTAR en CONEXIO_CIERRE_00.php si la bd esta abierta la cierro... pero el como????? .
O tal vez sea otra cosa, por eso solicito su ayuda......


Gracias a todos-.
  #2 (permalink)  
Antiguo 12/12/2005, 15:10
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Un ejemplo, este codigo: if(!$Conexion_04){ se ejecuta sólo si no hay conexion, entonces porque cerrar la conexion si sabes que jamas fue abierta.

$Conexion_04 = mysql_connect($Servido_Pr,$Usuario_Pr,$Passwor_Pr) ;
if(!$Conexion_04){
echo("<b>Error:<br>Al tratar de conectarse a la Base Datos</b><br><br>Número del error: ".mysql_errno());
mysql_close($Conexion_04);
exit;}
  #3 (permalink)  
Antiguo 13/12/2005, 05:58
Avatar de ciopatrick  
Fecha de Ingreso: diciembre-2003
Mensajes: 189
Antigüedad: 20 años, 11 meses
Puntos: 0
Pregunta

Gracias por la aclaracion.... pero ese no era el tema ya que no me sale ese error, sino este

mysql_close(): 68 is not a valid MySQL-Link resource in ...........

este error a que se refiere:
* no he cerrado la base (queda abierta)
* mal utilizado el mysql_close().....

porfavor...


lo que sucede es que al salir este error varias veces el APACHE se BLOQUEA, sera porque tengo las bases abiertas y supera la cantidad....

Gracias.
  #4 (permalink)  
Antiguo 13/12/2005, 07:32
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Por que abres tantas conexiones? tienes mas de un servidor MySql?
Creo que sólo necesitas abrir una conexión al inicio del script y cerrarla al final de éste.
Si necesitas acceder a varias bases de datos sólo ejecutas:
mysql_select_db("nombre base")

cada vez que quieras cambiar de base. Incluso es posible hacerlo por codigo sql, asi:

Código PHP:
<?php
    
//abro conexion al servidor
    
$link=mysql_connect(....);
    
//consulto una tabla de la base 1
    
$sql="select * from base1.tabla";
    
$res=mysql_query($sql,$link)
    
//consulto una tabla de la base 2
    
$sql="select * from base2.tabla";
    
$res=mysql_query($sql,$link)

...

    
mysql_close($link);
?>
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 21:50.