Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/10/2012, 10:38
Avatar de cluster28
cluster28
 
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 11 meses
Puntos: 32
Bucle infinito tras transacción SQL abortada (Comportamiento extraño)

Hola,

Debido a un error en una insert de una transacción SQL, la aplicación se metía en un bucle infinito. Pero sorprendentemente no llegaba ningún error de tiempo excedido ni limite de momeria alcanzado.

¿Se supone que debería dar una de esas dos cosas, no?

Daba un mensaje que supuestamente no debería dar porque superaba una validación previa. Es como si se enviara dos veces el form.

Hay alguna configuración de apache o PHP que pueda reenviar un formulario o algo que evite que se den los casos arriba mencionados.

Gracias.

Código PHP:

/**
* Este es un ejemplo simplificado
*/
$a=1;

if(
$a 1){
    
    
$foo = new foo();
    
        
//Aquí dentro se forma el bucle infinito
        //Inicia y finaliza la transacción internamente pero tras el error las siguientes consultas sin haber hecho rollback
        //fallan y se metía en el bucle
    
if($foo->procesar()){
        echo 
'Ok';
    }else{
        echo 
'Mal procesado';
    }
    
}else{
        
//Se muestra esto
    
echo '$a != 1';