Freigeben über


PDO::beginTransaction

PHP-Treiber herunterladen

Schaltet den Autocommit-Modus aus und beginnt eine Transaktion.

Syntax

  
bool PDO::beginTransaction();  

Rückgabewert

„true“, bei erfolgreichem Aufruf der Methode; andernfalls „false“.

Bemerkungen

Die Transaktion, die mit PDO::beginTransaction gestartet wurde, endet, wenn PDO::commit oder PDO::rollback aufgerufen wird.

PDO::beginTransaction ist nicht betroffen von dem (und hat keinen Einfluss auf den) Wert von PDO::ATTR_AUTOCOMMIT.

Sie dürfen PDO::beginTransaction nicht aufrufen, solange die vorherige PDO::beginTransaction noch nicht mit PDO::rollback oder PDO::commit beendet wurde.

Die Verbindung kehrt zum Autocommit-Modus zurück, falls diese Methode fehlschlägt.

Unterstützung für PDO wurde in Version 2.0 von Microsoft-Treiber für PHP für SQL Serverhinzugefügt.

Beispiel

Im folgenden Beispiel wird eine Datenbank namens „Test“ und eine Tabelle namens „Tabelle1“ verwendet. Es startet eine Transaktion und gibt die Befehle aus, um zwei Zeilen hinzuzufügen und dann eine Zeile zu löschen. Diese Befehle werden an die Datenbank geschickt und die Transaktion wird explizit mit PDO::commitbeendet.

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

Weitere Informationen

PDO-Klasse

PDO