[supersaibal]Originariamente inviato da mircov
Ho appena cominciato ad adattare la classe a mysql e php<5.
Prima difficoltà:
Codice PHP:
function __queryRollBackable( &$q ) {
        @
mysql_query$q );
        if( (int)
mysql_error( ) > ) {
            
mysql_query$this->__db'ROLLBACK' );
        } 
ROLLBACK cos'è? A che serve?
Come vedi ho già "tradotto" qualche cosa però mi sono fermato su quel "ROLLBACK": che devo fare? Se la query non restituisce errori la rieseguo? é stata già eseguita! [/supersaibal]
Quando hai una transazione, il rollback è il comando che ti consente di ripristinare lo stato precedente del database (precedente rispetto all'inizio della transazione).
In parole povere, la sequenza di query compresa tra un begin ed un commit viene eseguita in maniera atomica, come se fosse un'unica query. Se una delle query a metà strada fallisce, con rollback puoi tornare indietro "ignorando" la query precedenti andate a buon fine, tornando quindi ad uno stato sicuro.