Compartilhar via


PDO::beginTransaction

Baixar driver PHP

Desativa o modo de confirmação automática e inicia uma transação.

Sintaxe

  
bool PDO::beginTransaction();  

Valor retornado

true se a chamada do método for bem-sucedida; caso contrário, false.

Comentários

A transação começava com PDO::beginTransaction terminará quando PDO::commit ou PDO::rollback era chamado.

PDO::beginTransaction não é afetado pelo valor de PDO::ATTR_AUTOCOMMIT (e não o afeta).

Você não tem permissão para chamar PDO::beginTransaction antes de o PDO::beginTransaction anterior ser finalizado com PDO::rollback ou PDO::commit.

A conexão retornará para o modo de confirmação automática se esse método falhar.

O suporte para PDO foi adicionado na versão 2.0 dos Drivers da Microsoft para PHP para SQL Server.

Exemplo

O exemplo a seguir usa um banco de dados chamado Test e uma tabela chamada Table1. Ele inicia uma transação e, em seguida, emite comandos para adicionar duas linhas e depois excluir uma linha. Os comandos são enviados para o banco de dados e a transação é finalizada 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;  
?>  

Consulte Também

PDO Class

PDO