Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Desliga o modo de auto-commit e inicia uma transação.
Syntax
bool PDO::beginTransaction();
Valor de retorno
true se a chamada de método teve sucesso, false caso contrário.
Observações
A transação começou com PDO::beginTransaction termina quando é chamado PDO::commit ou PDO::rollback .
PDO::beginTransaction não é afetado (nem afeta) pelo valor de PDO::ATTR_AUTOCOMMIT.
Não é permitido ligar para PDO::beginTransaction antes de a anterior PDO::beginTransaction terminar com PDO::rollback ou PDO::commit.
A ligação regressa ao modo de auto-commit se este método falhar.
O suporte para PDO foi adicionado na versão 2.0 dos Microsoft Drivers for PHP para SQL Server.
Example
O exemplo seguinte utiliza uma base de dados chamada Test e uma tabela chamada Table1. Inicia uma transação e depois emite comandos para adicionar duas linhas e depois apagar uma linha. Os comandos são enviados para a base de dados e a transação termina explicitamente com 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;
?>