(PECL CUBRID >= 8.3.0)
Roll back a transaction
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.
Parameters:
conn_identifier
Connection identifier.
Returns:
TRUE
, when process is successful.
FALSE
, when process is unsuccessful.
Examples:
cubrid_rollback() example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | <?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( $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 ); ?> |
The above example will output:
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
See also:
Please login to continue.