Php/docs/function.cubrid-rollback

来自菜鸟教程
跳转至:导航、​搜索

cubrid_rollback

(PECL CUBRID >= 8.3.0)

cubrid_rollbackRoll back a transaction


说明

cubrid_rollback ( resource $conn_identifier ) : bool

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.


参数

conn_identifier
Connection identifier.


返回值

true, when process is successful.

false, when process is unsuccessful.


范例

Example #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 = <<<EODCREATE 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($req, 1, $id_list[$i]);    cubrid_bind($req, 2, $name_list[$i]);    cubrid_bind($req, 3, $city_list[$i]);    cubrid_bind($req, 4, $state_list[$i]);    cubrid_bind($req, 5, $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);?>

以上例程会输出:


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            

参见