PHP Doku:: Rolls back a transaction - function.db2-rollback.html

Verlauf / Chronik / History: (4) anzeigen

Sie sind hier:
Doku-Startseite ≥ PHP-Handbuch ≥ Funktionsreferenz ≥ Datenbankerweiterungen ≥ Anbieterspezifische Datenbankerweiterungen ≥ IBM DB2, Cloudscape and Apache Derby ≥ IBM DB2 Funktionen ≥ db2_rollback

Ein Service von Reinhard Neidl - Webprogrammierung.

IBM DB2 Funktionen

<<db2_result

db2_server_info>>

db2_rollback

(PECL ibm_db2 >= 1.0.0)

db2_rollback — Rolls back a transaction

Beschreibung

bool db2_rollback ( resource $connection )

Rolls back an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_rollback() normally has no effect unless AUTOCOMMIT has been turned off for the connection resource.

Parameter-Liste

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Rolling back a DELETE statement

In the following example, we count the number of rows in a table, turn off AUTOCOMMIT mode on a database connection, delete all of the rows in the table and return the count of 0 to prove that the rows have been removed. We then issue db2_rollback() and return the updated count of rows in the table to show that the number is the same as before we issued the DELETE statement. The return to the original state of the table demonstrates that the roll back of the transaction succeeded.

<?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";
    
    
// Turn AUTOCOMMIT off
    
db2_autocommit($conn, DB2_AUTOCOMMIT_OFF);
   
    
// Delete all rows from ANIMALS
    
db2_exec($conn, "DELETE FROM animals");
    
    
$stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    
$res = db2_fetch_array( $stmt );
    echo 
$res[0] . "\n";
    
    
// Roll back the DELETE statement
    
db2_rollback( $conn );
    
    
$stmt = db2_exec( $conn, "SELECT count(*) FROM animals" );
    
$res = db2_fetch_array( $stmt );
    echo 
$res[0] . "\n";
    
db2_close($conn);
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

7
0
7

Siehe auch


Keine BenutzerBeiträge.
- Beiträge aktualisieren...



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)