PDO::beginTransaction
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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de