Foros del Web » Programando para Internet » PHP »

Problemas con cierra de conexion...

Estas en el tema de Problemas con cierra de conexion... en el foro de PHP en Foros del Web. Hola a todos.. tengo una duda en cuanto al cierre de conexion... Primero lo que hago es cargar lo datos de 1 usuario. Una vez ...
  #1 (permalink)  
Antiguo 06/07/2012, 13:37
Avatar de xpapachox  
Fecha de Ingreso: junio-2011
Mensajes: 77
Antigüedad: 11 años
Puntos: 12
Problemas con cierra de conexion...

Hola a todos.. tengo una duda en cuanto al cierre de conexion...


Primero lo que hago es cargar lo datos de 1 usuario. Una vez hecho eso cierro la conexion..

Código PHP:
<?php
public function obtenerUsuario($codigo){
            
$usuario = array();
            try {                    
                    
$query ='select id_usuario,dsc_alias,dsc_clave,dsc_usuario,DATE_FORMAT(fec_creacion,\'%d-%m-%Y \')fec_creacion,fec_actualizacion,';
                    
$query.=' dsc_pregunta_secreta,dsc_respuesta,cod_estado from usuario where id_usuario=' mysqli_real_escape_string($this->cnx->enlace,$codigo);

                    
$resultSet = @mysqli_query($this->cnx->enlace,$query);

                    if (!
$resultSet) {
                            throw new 
DAOExcepcion(mysqli_error($this->cnx->enlace));
                    } else {
                            while (
$fila mysqli_fetch_array($resultSet)) {
                                
//Retornar un unico objecto                                
                                
$usuario = new UsuarioVO($fila['id_usuario'], $fila['dsc_alias'], $fila['dsc_clave'], $fila['dsc_usuario'], 
                         
$fila['fec_creacion'], $fila['fec_actualizacion'], $fila['dsc_pregunta_secreta'], $fila['dsc_respuesta'], $fila['cod_estado']); 
                            }
                    }
//Si omito esta parte de aca, del cierra de conexion entonces si me lo guarda..
                    
@mysqli_close($this->cnx->enlace);
            } catch (
ConexionExcepcion $e){
                    throw new 
DAOException($e->getMessage());
            } catch (
DAOExcepcion $dao){
                    throw new 
DAOException($dao->getMessage());
            }
            return 
$usuario;
     }
?>
Luego intento actualizar los datos de ese usuario.. El cual no me registra nada. Solo me guarda si omito el cierra de conexion de la funcion anterior.

Código PHP:
<?php
public function editarUsuario($idusuario,$dscalias,$dscusuario,$dscpreguntasecreta,$dscrespuesta){
            
$exito=false;
            try {                
                
$query="update usuario set dsc_alias='$dscalias',dsc_usuario='$dscusuario',fec_actualizacion=now(),dsc_pregunta_secreta='$dscpreguntasecreta',";
                
$query.="dsc_respuesta='$dscrespuesta' where id_usuario=".  @mysqli_real_escape_string($this->cnx->enlace$idusuario);
                
$resulSet[email protected]mysqli_query($this->cnx->enlace,$query);
                
$exito=true;
                @
mysqli_close($this->cnx->enlace);
            } catch (
Exception $exc) {
                echo 
$exc->getTraceAsString();
            }
            return 
$exito;
     }
?>
Nose si dejarlo la conexion abierta y no cerrarla.. de la primera funcion obtenerUsuario..
O simplemente no cerrar ninguna conexion..

Alguna ayuda.

Última edición por xpapachox; 06/07/2012 a las 13:38 Razón: correcion
  #2 (permalink)  
Antiguo 06/07/2012, 13:41
 
Fecha de Ingreso: marzo-2011
Mensajes: 70
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: Problemas con cierra de conexion...

pues depente de en que momentos utilices cada funcion, pero si son seguidas y cierras la conexion siempre debes volver a abrir una para poder utilizar la base de datos.
  #3 (permalink)  
Antiguo 06/07/2012, 14:21
Avatar de xpapachox  
Fecha de Ingreso: junio-2011
Mensajes: 77
Antigüedad: 11 años
Puntos: 12
Respuesta: Problemas con cierra de conexion...

Bueno por ahi lei que ya no es necesario cerrar esas conexiones no percistentes a partir de php4 en adelante, pues se cierra solas..

Etiquetas: close, conexion, mysqli
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 02:06.