Foros del Web » Programando para Internet » PHP »

MySQL has gone away

Estas en el tema de MySQL has gone away en el foro de PHP en Foros del Web. Buenas tardes a todos, queria saber si alguien podia ayudarme a solucionar un inconveniente.- Estoy ejecutando el siguiente codigo: Código PHP: //... $res  =  cls_usuarios ...
  #1 (permalink)  
Antiguo 17/01/2011, 11:53
 
Fecha de Ingreso: mayo-2008
Mensajes: 33
Antigüedad: 15 años, 10 meses
Puntos: 0
MySQL has gone away

Buenas tardes a todos,

queria saber si alguien podia ayudarme a solucionar un inconveniente.-

Estoy ejecutando el siguiente codigo:

Código PHP:
//...
$res cls_usuarios::m_validar_usuario($usuariomd5($contrasena));
        if (
$res == 'ok')
        {
        
//Creo la sesion
        
$elIdo cls_funciones::m_obtener_ido(cls_usuarios::m_obtener_idusuario($usuario));
        
$sesion=new cls_sesion(CLAVE_SESION);
        
$sesion->__set(SESION_NAME_USU$usuario);
        
$sesion->__set(SESION_NAME_CONmd5($contrasena));
        
$registro '';
        if (
$recordar == 0)
        {
            
$fecha SESION_DUR_REC;
            
//$fechas = str_replace("-", "", date("m.d.y"));
            
$elCodigo md5($usuario.$fechas);
            
//ahora en este caso creo la cockie
            
setcookie(GALLETA_NAME_COD,$elCodigo,time() + 31536000);
            
$registro=cls_sesiones::m_alta($elCodigomd5($contrasena), $usuario$elIdo); //Esta es la linea que no se ejecuta
           
        
}else
        {
            
$fecha date(now);
        }
        
        
$sesion->__set(SESION_NAME_DUR$fecha); //Guardo la fecha que debe almacenar para saber si vencio el tiempo o no
        

Al finalizar la ejecucion del codigo, mysql me devuelve ese error, y por lo tanto no se llega a ejecutar la instruccion que señalo con los comentarios.-

Donde la linea que no se ejecuta lo q hace es llamar a un SP, que inserta un registro en una BD.

Y la primera linea: $res = cls_usuarios::m_validar_usuario($usuario, md5($contrasena)); lo que hace es ejecutar un llamado a un SP que lo que hace es consultar si un usuario y una contraseña coinciden.-

No entiendo porq ocurre el error de mysql has gone away, si cuando ejecuto independientemente los llamados no hay ningun problema!

Si quieren que suba el codigo de los Stored procedures me dicen y los subo.-

Alguna ayuda?

Desde ya muchas gracias!
  #2 (permalink)  
Antiguo 17/01/2011, 11:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: MySQL has gone away

Ese error generalmente sale cuando el tiempo configurado en el my.cnf es muy pequeño y alguna de tus instrucciones en PHP toma más tiempo, MySQL cierra la conexión.

Necesitas incrementar el tiempo de inactividad para que no pase eso.

Saludos.
  #3 (permalink)  
Antiguo 17/01/2011, 14:41
 
Fecha de Ingreso: mayo-2008
Mensajes: 33
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: MySQL has gone away

Muchas gracias por tu respuesta, si habia leido algo de eso en internet, ahora lo q no entiendo es lo siguiente,

Si se llega a ejecutar la primera, me devuelve el resultado correcto, entonces es esa la q tiene el problema no mas?

Sera que demora mucho ese SP?

Desde ya muchas gracias!
  #4 (permalink)  
Antiguo 17/01/2011, 15:00
 
Fecha de Ingreso: mayo-2008
Mensajes: 33
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: MySQL has gone away

Hola nuevamente, estuve probando para ver si podia solucionar cambiando el wait_timeout, pero no logro obtener buenos resultados.-

hago lo siguiente, antes de ejecutar el SP: set session wait_timeout=600;

que mas podria hacer para probar si se soluciona el error?

sigo buscando y probando mientras tanto cual puede ser el problema xD

gracias

Etiquetas: mysql
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 10:58.