db2_rollback
    (PECL)
db2_rollback -- 
   トランザクションをロールバックする
  
説明
bool 
db2_rollback ( resource connection )
   指定した接続リソース上で実行中のトランザクションをロールバックし、
   新しいトランザクションを開始します。PHP アプリケーションのデフォルトは
   AUTOCOMMIT モードなので、接続リソースに対して AUTOCOMMIT
   を無効にしていない限り db2_rollback() は何の意味もありません。
  
注意: 
    指定した接続が持続的接続であった場合、持続的接続を使用している
    すべてのアプリケーションで実行中のトランザクションがロールバックされます。
    そのため、トランザクションが必要なアプリケーションでは
    持続的接続の使用は推奨されません。
   
返り値
   成功した場合に 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";          // AUTOCOMMIT を無効にします     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); } ?>
 |  
 上の例の出力は以下となります。  |