PDO::beginTransaction

Stáhnout ovladač PHP

Vypne automatický commit režim a zahájí transakci.

Syntax

  
bool PDO::beginTransaction();  

Návratová hodnota

pravdivé, pokud volání metody uspělo, nepravdivé jinak.

Remarks

Transakce zahájená pomocí PDO::beginTransaction končí, když je vyvolán příkaz PDO::commit nebo PDO::rollback .

PDO::beginTransaction není ovlivněna (a neovlivňuje) hodnotu PDO::ATTR_AUTOCOMMIT.

Není dovoleno volat PDO::beginTransaction dříve, než je předchozí PDO::beginTransaction ukončen pomocí PDO::rollback nebo PDO::commit.

Pokud tato metoda selže, připojení se vrátí do režimu automatického potvrzení.

Podpora PDO byla přidána ve verzi 2.0 Microsoft Drivers for PHP for SQL Server.

Example

Následující příklad používá databázi nazvanou Test a tabulku nazvanou Table1. Spustí transakci a pak zadá příkazy k přidání dvou řádků a následnému smazání jednoho řádku. Příkazy jsou odeslány do databáze a transakce je explicitně ukončena .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;  
?>