Buon giorno a tutti.
Vorrei capire bene come funzionano le istruzioni Commit transaction e Rollback transaction.
La prima istruzione serve per rendere permanenti tutte le modifiche apportate al db.
La seconda per tornare indietro in caso si verifichi un problema.
Ora gli script che posto di seguito li ho trovati in rete, ma non so, come implementarli:
Codice PHP:
include '../connection/connect.php';
function cCommit_Trans($Conn='', $Err='') {
Global $b_Trans;
$Err_Funz="";
if ($b_Trans==1) {
if ($Conn=='') $Err_Funz = mysql_query("COMMIT");
else $Err_Funz = mysql_query("COMMIT", $Conn);
}
if ($Err_Funz != "") $Err .= "Error in Commit Transaction instruction:
".$Err_Funz;
else $Err = '';
if ($Err == "") $b_Trans = 0; //Transazione dati terminata con Commit
else { print $Err."
Attenzione: Annotare i messaggi di errore e contattare l'amministratore del sistema!"; exit; }
return $Err;
}
function cRollback_Trans($Conn='', $Err='') {
Global $b_Trans;
$Err_Funz="";
if ($b_Trans==1) {
if ($Conn=='') $Err_Funz = mysql_query("ROLLBACK");
else $Err_Funz = mysql_query("ROLLBACK", $Conn);
}
if ($Err_Funz != "") $Err .= "Error in Rollback Transaction instruction:
".$Err_Funz;
else $Err = '';
if ($Err == "") $b_Trans = 0; //Transazione dati terminata con Rollback
else { print $Err."
Attenzione: Annotare i messaggi di errore e contattare l'amministratore del sistema!"; exit; }
return $Err;
}
if(!$connessione)
{
echo "impossibile stabilire una connessione\n
";
} else {
$sqlUpd = "UPDATE ".trim($DB).".webcal_user_new SET
cal_mail_utenze_inviate=1
WHERE id_user = ".$_SESSION['id_user']."";
//echo $sqlUpd."
\n";
$rsUpd= mysql_query($sqlUpd) or die ("Impossibile eseguire l'Update!" . mysql_error());
}
Potete aiutarmi per favore?
PS: forse manca una Begin transaction a quelle sopra riportate?
Grazie mille...