分享方式:


PDO::beginTransaction

下載 PHP 驅動程式

關閉自動認可模式,並開始交易。

語法

  
bool PDO::beginTransaction();  

傳回值

如果方法呼叫成功,會傳回 true,否則傳回 false。

備註

以 PDO::beginTransaction 開始的交易,會在呼叫 PDO::commitPDO::rollback 時結束。

PDO::beginTransaction 不受 PDO::ATTR_AUTOCOMMIT 的值影響 (且不會影響該值)。

在使用 PDO::rollback 或 PDO::commit 結束先前的 PDO::beginTransaction 之前,您無法呼叫 PDO::beginTransaction。

如果此方法失敗,連線會回到自動認可模式。

Microsoft Drivers for PHP for SQL Server 2.0 版已新增 PDO 支援。

範例

下列範例會使用名為 Test 的資料庫和名為 Table1 的資料表。 它會啟動交易並接著發出命令,以加入兩個資料列,然後再刪除一個資料列。 命令會傳送至資料庫,並以 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;  
?>  

另請參閱

PDO 類別

PDO