Ciao,
non riesco a capire come mai non mi funzioni più il 'rollback' .. qualcuno mi sa consigliare ?
Grazie mille

codice:
// --> start transaction
$query = "START TRANSACTION"; 
if (!mysql_query($query, $db))                                                    
   {
 	  $esito = 'KO' ;                                                                                                    
 	  $err = "Start Transaction KO: " .	mysql_error() . " - " . mysql_errno(); 
 	  goto end;                                  
   }


$sysdata = @date('Y-m-d H:i:s');
$id_scad = $_COOKIE['id_scad'];




// --> update


$query = "UPDATE scadenze 
          SET 
             data_scadenza 	         =  '$data_scadenza_new'        ,    
             importo                 =  '$importo_new'              ,
             imp_pag_netto           =  '$imp_pag_netto_new'        ,
             importo_avviso          =  '$importo_avviso_new'       ,
             flg_importo_avviso      =  '$flg_importo_avviso_new'   ,
             note                    =  '$note_new'                 ,
             produttore              =  '$produttore_new'           ,
             flg_no_provigione       =  '$flg_no_provigione_new'    ,
             flg_forz_provigione     =  '$flg_forz_provigione_new'  ,
             perc_prov_forzata       =  '$perc_prov_forzata_new'    ,
             flg_forz_prov_rca       =  '$flg_forz_prov_rca_new'    ,
             flg_forz_prov_ard       =  '$flg_forz_prov_ard_new'    ,
             flg_forz_prov_re        =  '$flg_forz_prov_re_new'     ,    
             diritti                 =  '$diritti_new'              ,   
             ts_agg_scad             =  '$sysdata'                  ,
             user_scad               =  '$user'
                          
          WHERE id_scad = $id_scad  "; 


//echo "query  -------->  " . $query . "<br>";


if (!mysql_query($query, $db))                                                              
   {
 	  $esito = 'KO' ; 
    if (mysql_errno() == '1064')                     
       {$err = "Usato caratteri non ammessi !!";}    
    else                                             
       {$err = "Errore durante UPADATE tab. scadenze: " .	mysql_error() . " - " . mysql_errno(); }
 	  goto end;                                  
   }






// ========================================================================================


end:
$esito = 'KO';


//echo "esito  -------->  " . $esito . "<br>";
//echo "errore -------->  " . $err . "<br>";


// --> gestione errori di sistema
if ($flg_error_glob == 'S')
   {
   	$esito = 'KO';
   	$err = $err_descr_glob;
   }


setcookie('esito_elab', $esito);
setcookie('errore', $err); 
setcookie('provenienza', 'scadenze_agg_exe');


if ($esito == 'OK')
   {
    $query = "COMMIT"; 
    //$query = "ROLLBACK"; 
    if (!mysql_query($query, $db))                                                     
       {
        $err = "Commit KO: " .	mysql_error() . " - " . mysql_errno(); 
   	    setcookie('esito_elab', $esito);
        setcookie('errore', $err); 
   	    setcookie('pos_cursore', $pos_cursore);                
        header ( "Location: scadenze_agg.php");   
        exit;                                                  
       } 
    delete_cookie();   
    header ( "Location: scadenze_lista.php"); 
    exit;
   }
else
   {
    $query = "ROLLBACK";                                                                 	
    if (!mysql_query($query, $db))                                                     	
       {$err = "ROLLBACK KO: " .	mysql_error() . " - " . mysql_errno(); } 
       
    setcookie('esito_elab', $esito);
    setcookie('errore', $err);   
    setcookie('pos_cursore', $pos_cursore);
    header ( "Location: scadenze_agg.php"); 
    exit;
   }