Compartir vía


PDO::beginTransaction

Descargar controlador PHP

Desactiva el modo de confirmación automática e inicia una transacción.

Sintaxis

  
bool PDO::beginTransaction();  

Valor devuelto

Se devuelve el valor True si la llamada al método se realizó correctamente; en caso contrario, se devuelve False.

Observaciones

Cuando finalice la transacción iniciada con PDO::beginTransaction, se llamará a PDO::commit o PDO::rollback.

El valor de PDO::ATTR_AUTOCOMMIT no afecta a PDO::beginTransaction.

No se permiten llamar a PDO::beginTransaction antes de finalizar la transacción PDO::beginTransaction anterior con PDO::rollback o PDO::commit.

Si se produce un error en este método, la conexión vuelve al modo de confirmación automática.

En la versión 2.0 de los Controladores de Microsoft para PHP para SQL Server, se agregó compatibilidad con PDO.

Ejemplo

En el ejemplo siguiente se utiliza una base de datos denominada "Test" y una tabla llamada "Table1". Inicia una transacción y, luego, ejecuta comandos para agregar dos filas y eliminar una. Los comandos se envían a la base de datos y la transacción se finaliza explícitamente con PDO::commit.

<?php  
   $conn = new PDO( "sqlsrv:server=(local); Database = Test", "", "");  
   $conn->beginTransaction();  
   $ret = $conn->exec("insert into Table1(col1, col2) values('a', 'b') ");  
   $ret = $conn->exec("insert into Table1(col1, col2) values('a', 'c') ");  
   $ret = $conn->exec("delete from Table1 where col1 = 'a' and col2 = 'b'");  
   $conn->commit();  
   // $conn->rollback();  
   echo $ret;  
?>  

Consulte también

Clase PDO

PDO