Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/12/2008, 14:19
AlexWeb
 
Fecha de Ingreso: enero-2005
Mensajes: 114
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: Reconexión Base de Datos

Saludos!

Reactivo este tema, porqué sigo sin ver el tema claro. Voy a intentar explicarme bien: en mi script PHP ejecuto un código que esquemáticamente es este:

$result = mysql_query($query,$enlace);
if(!$result) {
$error = mysql_errno($enlace);
mysql_close($enlace);
return $error;
}

De esta manera capturo el error que ha tenido lugar (si es que lo ha tenido) y actuo en consecuencia. El problema era que el servidor MySQL si no puede realizar el query, envía un mensaje de error (el 2006), pero luego LO REINTENTA, enviando 2003 si nuevamente no puede hacerlo y ahí ya sí que termina.

PROBLEMA: si yo capturo el 2006, pero resulta que a la 2ª lo consigue, yo me creo que es un error pero en realidad sí que ha ejecutado el query.

SOLUCIÓN PROPUESTA: Emplear transacciones. Pero sigo viendo el mismo problema, ya que si después de las sentencias anteriores hago algo así:

$result2 = mysql_query("COMMIT",$enlace);
if(!$result2) {
$error = mysql_errno($enlace);
mysql_close($enlace);
return $error;
}

Estamos en las mismas que antes básicamente.... ¿Y si me lanza el primer error, y yo actuo como si hubiera un ídem, pero a la 2ª reconexión se ejecuta el COMMIT y yo ni me entero?

No sé si me explico muy bien, a alguien se le ocurre alguna solución a este tema?

ALEX