PDO::beginTransaction

Pobieranie sterownika PHP

Wyłącza tryb automatycznego zatwierdzania i rozpoczyna transakcję.

Syntax

  
bool PDO::beginTransaction();  

Wartość zwracana

prawdziwe, jeśli wywołanie metody się powiodło, fałszywe w przeciwnym przypadku.

Remarks

Transakcja rozpoczęta za pomocą PDO::beginTransaction kończy się, gdy wywołane zostanie PDO::commit lub PDO::rollback .

PDO::beginTransaction nie jest objęty (i nie wpływa) na wartość PDO::ATTR_AUTOCOMMIT.

Nie wolno wywoływać PDO::beginTransaction przed zakończeniem poprzedniego PDO::beginTransaction za pomocą PDO::rollback lub PDO::commit.

Połączenie wraca do trybu automatycznego zatwierdzania, jeśli ta metoda się nie powiedzie.

Wsparcie dla PDO zostało dodane w wersji 2.0 sterowników Microsoft dla PHP dla SQL Server.

Example

Poniższy przykład wykorzystuje bazę danych o nazwie Test oraz tabelę o nazwie Table1. Rozpoczyna transakcję, a następnie wydaje polecenia, aby dodać dwa wiersze, a następnie usunąć jeden wiersz. Polecenia są wysyłane do bazy danych, a transakcja kończy się wyraźnie słowem 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;  
?>