PDO::beginTransaction

Ladda ned PHP-drivrutin

Stänger av autocommit-läget och startar en transaktion.

Syntax

  
bool PDO::beginTransaction();  

Returvärde

sant om metodanropet lyckades, falskt annars.

Remarks

Transaktionen som påbörjas med PDO::beginTransaction avslutas när PDO::commit eller PDO::rollback anropas.

PDO::beginTransaction påverkas inte av (och påverkar inte) värdet av PDO::ATTR_AUTOCOMMIT.

Du får inte anropa PDO::beginTransaction innan föregående PDO::beginTransaction avslutas med PDO::rollback eller PDO::commit.

Anslutningen återgår till autocommit-läge om denna metod misslyckas.

Stöd för PDO lades till i version 2.0 av Microsoft Drivers för PHP för SQL Server.

Example

Följande exempel använder en databas som heter Test och en tabell som heter Table1. Den startar en transaktion och ger sedan kommandon för att lägga till två rader och sedan ta bort en rad. Kommandona skickas till databasen och transaktionen avslutas uttryckligen med 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;  
?>