CUBRID Funktionen
PHP Manual

cubrid_rollback

(PECL CUBRID >= 8.3.0)

cubrid_rollbackRoll back a transaction

Beschreibung

bool cubrid_rollback ( resource $conn_identifier )

The cubrid_rollback() function executes rollback on the transaction pointed by conn_identifier, currently in progress.

Connection to server is closed after calling cubrid_rollback(). Connection handle, however, is still valid.

Parameter-Liste

conn_identifier

Connection identifier.

Rückgabewerte

TRUE, when process is successful.

FALSE, when process is unsuccessful.

Beispiele

Beispiel #1 cubrid_rollback() example

<?php
$conn 
cubrid_connect("127.0.0.1"33000"demodb""dba");
cubrid_set_autocommit($conn,false);

@
cubrid_execute($conn"DROP TABLE publishers");

$sql = <<<EOD
CREATE TABLE publishers(
pub_id CHAR(3), 
pub_name VARCHAR(20), 
city VARCHAR(15), 
state CHAR(2), 
country VARCHAR(15)
)
EOD;

if (!
cubrid_execute($conn$sql)) {
    
printf("Error facility: %d\nError code: %d\nError msg: %s\n"cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

    
cubrid_disconnect($conn);
    exit;
}

$req cubrid_prepare($conn"INSERT INTO publishers VALUES(?, ?, ?, ?, ?)");

$id_list = array("P01""P02""P03""P04");
$name_list = array("Abatis Publishers""Core Dump Books""Schadenfreude Press""Tenterhooks Press");
$city_list = array("New York""San Francisco""Hamburg""Berkeley");
$state_list = array("NY""CA"NULL"CA");
$country_list = array("USA""USA""Germany""USA");

for (
$i 0$size count($id_list); $i $size$i++) {
    
cubrid_bind($req1$id_list[$i]);
    
cubrid_bind($req2$name_list[$i]);
    
cubrid_bind($req3$city_list[$i]);
    
cubrid_bind($req4$state_list[$i]);
    
cubrid_bind($req5$country_list[$i]);

    if (!(
$ret cubrid_execute($req))) {
        break;
    }
}

if (!
$ret) {
    
cubrid_rollback($conn);
} else {
    
cubrid_commit($conn);

    
$req cubrid_execute($conn"SELECT * FROM publishers");
    while (
$result cubrid_fetch_assoc($req)) {
        
printf("%-3s %-20s %-15s %-3s %-15s\n"
            
$result["pub_id"], $result["pub_name"], $result["city"], $result["state"], $result["country"]);
    }
}

cubrid_disconnect($conn);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

P01 Abatis Publishers    New York        NY  USA            
P02 Core Dump Books      San Francisco   CA  USA            
P03 Schadenfreude Press  Hamburg             Germany        
P04 Tenterhooks Press    Berkeley        CA  USA            

Siehe auch


CUBRID Funktionen
PHP Manual