Project Pages

PHP Classes
SourceForge
Downloads
Archived Documentation

DB Connection Methods

objSQL
obj_close

Error Handling Methods

obj_error
obj_error_message

Statement Methods

obj_delete
obj_insert
obj_paging
obj_query
obj_select
obj_update

Statement Argument Methods

obj_cols
obj_data
obj_limit
obj_offset
obj_order_by
obj_sort_order
obj_table
obj_where

Resultset Methods

obj_affected_rows
obj_fetch_assoc
obj_fetch_num
obj_fetch_object
obj_field
obj_free_result
obj_num_fields
obj_num_rows

Prepared Statement Methods

obj_bind
obj_close_statement
obj_execute
obj_free_statement
obj_prepare_statement

Transaction Methods

obj_commit
obj_savepoint
obj_transaction

Utility Methods

obj_escape
obj_info
obj_row_count


obj_rollback

Description:

Rolls back a transaction block.

When errors occur, obj_rollback allows you to void any transactional queries within a transaction block.

  • The optional name argument is required when used with a savepoint.
  • It is extremely important to explicitly commit or rollback a transaction block. Failure to do so may have unintended consequences such as a proceeding non-transactional query enabling autocommit and commiting failed queries.

Parameters:

bool obj_rollback ( str [ name ] )


Returns:

True on success or false on failure.


Examples:

<?php 

try 

    
$trans $dbh->obj_transaction(); 
     
    
$data = array( "color" => "blue"
                   
"type"  => "leather"
                   
"price" => 36.95 ); 
                    
    
$rs $dbh->obj_update"products"$data"prod_id=21" ); 
     
    if ( 
$dbh->obj_error() ) 
    { 
        
$trans->obj_rollback(); 
         
        throw new 
Exception$dbh->obj_error_message() ); 
    } 
     
    
$trans->obj_savepoint"svp1" ); 
         
    
$data = array( "color" => "red"
                   
"type"  => "leather"
                   
"price" => 32.95 ); 
                    
    
$rs $dbh->obj_update"products"$data"prod_id=49" ); 
     
    if ( 
$dbh->obj_error() ) 
    { 
        
$trans->obj_rollback"svp1" ); 
        
$trans->obj_commit(); 
         
        throw new 
Exception$dbh->obj_error_message() ); 
    } 
    else     
        
$trans->obj_commit();     


catch ( 
Exception $e )  

    
//log error and/or redirect user to error page 


?>

See also: obj_commit, obj_savepoint