2024 日本 PHP 研討會

db2_rollback

(PECL ibm_db2 >= 1.0.0)

db2_rollback 交易回滾

說明

db2_rollback(資源 $connection): 布林值

在指定的連線資源上復原進行中的交易,並開始新的交易。PHP 應用程式通常預設為 AUTOCOMMIT 模式,因此 db2_rollback() 通常沒有作用,除非已針對連線資源關閉 AUTOCOMMIT。

參數

connection

有效的資料庫連線資源變數,由 db2_connect()db2_pconnect() 傳回。

傳回值

成功時傳回 true,失敗時傳回 false

範例

範例 #1 復原 DELETE 陳述式

在以下範例中,我們計算表格中的資料列數,關閉資料庫連線上的 AUTOCOMMIT 模式,刪除表格中的所有資料列,並傳回 0 以證明資料列已被移除。然後我們執行 db2_rollback() 並傳回表格中已更新的資料列數,以顯示數字與我們執行 DELETE 陳述式之前的數字相同。表格回到原始狀態表示交易復原成功。

<?php
$conn
= db2_connect($database, $user, $password);

if (
$conn) {
$stmt = db2_exec($conn, "SELECT count(*) FROM animals");
$res = db2_fetch_array( $stmt );
echo
$res[0] . "\n";

// 關閉自動提交
db2_autocommit($conn, DB2_AUTOCOMMIT_OFF);

// 從 ANIMALS 刪除所有列
db2_exec($conn, "DELETE FROM animals");

$stmt = db2_exec($conn, "SELECT count(*) FROM animals");
$res = db2_fetch_array( $stmt );
echo
$res[0] . "\n";

// 回滾 DELETE 陳述式
db2_rollback( $conn );

$stmt = db2_exec( $conn, "SELECT count(*) FROM animals" );
$res = db2_fetch_array( $stmt );
echo
$res[0] . "\n";
db2_close($conn);
}
?>

上述範例將輸出

7
0
7

另請參閱

新增註釋

使用者貢獻的註釋

此頁面尚無使用者貢獻的註釋。
To Top