PDO::beginTransaction

Descarregar o driver PHP

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;  
?>