sql >> Base de Datos >  >> RDS >> Mysql

Cómo usar la transacción en php/mysql

Simplemente emita mysql_query('START TRANSACTION'); y verifique si hay errores en cada una de sus inserciones. Si uno de ellos no tiene éxito, emita un ROLLBACK inmediatamente sin realizar ninguna de las consultas restantes. Si todo va bien con todos, emita un COMMIT.

Puede ser más fácil colocarlos en un bloque de prueba y captura para evitar el uso de demasiados niveles de anidamiento con if-else.

// START TRANSACTION
try{
    // INSERT 1
    if(failed)
        throw new Exception();

    // INSERT 2
    if(failed)
        throw new Exception();

    // INSERT 3
    if(failed)
        throw new Exception();

    // COMMIT
}
catch(Exception $e){
    // ROLLBACK
}

También puede echar un vistazo a la extensión PDO de PHP. . Las transacciones son parte de sus funciones.