• Main Page
  • Data Structures
  • Files
  • File List

mysqlTransaction.php

Go to the documentation of this file.
00001 <?php
00002 
00003 /**
00004  * MySQL transaction class
00005  *
00006  * @package objSQL
00007  * @version 2.1.0
00008  * @author MT Jordan <mtjo62@gmail.com>
00009  * @link http://objsql.sourceforge.net
00010  * @copyright 2004-2010 openSource Partners
00011  * @license LGPL
00012  * @revision $Id: mysqlTransaction.php,v 1.4 2008-01-19 15:16:34-05 mt_jordan Exp $
00013  */
00014 
00015 class mysqlTransaction
00016 {
00017     /**********************************************
00018      * Internal variables
00019      *********************************************/
00020 
00021     /**
00022      * Database connection object
00023      *
00024      * @access private
00025      * @var    mixed
00026      */
00027     private $objConnection;
00028 
00029     /**********************************************
00030      * Class methods
00031      *********************************************/
00032 
00033     /**
00034      * Constructor
00035      *
00036      * @access public
00037      * @param  mixed $connection
00038      */
00039     public function __construct( $connection )
00040     {
00041         $this->objConnection = $connection;
00042 
00043         //turn off autocommit
00044         mysqli_autocommit( $this->objConnection, false );
00045     }
00046 
00047     /**
00048      * Commit transaction
00049      *
00050      * @access public
00051      * @return bool
00052      */
00053     public function commit()
00054     {
00055         return mysqli_commit( $this->objConnection );
00056     }
00057 
00058     /**
00059      * Rollback transaction
00060      *
00061      * @access public
00062      * @param  str $savepoint
00063      * @return bool
00064      */
00065     public function rollback( $savepoint=false )
00066     {
00067         if ( !$savepoint )
00068             return mysqli_rollback( $this->objConnection );
00069         else
00070             $objStmt = mysqli_query( $this->objConnection, 'ROLLBACK TO SAVEPOINT ' . $savepoint )
00071             or trigger_error( mysqli_error( $this->objConnection ), E_USER_WARNING );
00072 
00073         return $objStmt;
00074     }
00075 
00076     /**
00077      * Create rollback savepoint
00078      *
00079      * @access public
00080      * @param  str $savepoint
00081      * @return bool
00082      */
00083     public function savepoint( $savepoint )
00084     {
00085         $objStmt = mysqli_query( $this->objConnection, 'SAVEPOINT ' . $savepoint )
00086         or trigger_error( mysqli_error( $this->objConnection ), E_USER_WARNING );
00087 
00088         return $objStmt;
00089     }
00090 }
00091 
00092 ?>

Generated on Sat Jul 10 2010 15:14:39 for objSQL 2.1.0 by  doxygen 1.7.1