load('db', null); /** * MySQLi Database Abstraction Layer * * This framework is a function wrapper for MySQLi functions so we can have * better error reporting and query reporting. * * @author Blue Static * @copyright Copyright ©2002 - [#]year[#], Blue Static * @version $Revision$ * @package ISSO * */ class DB_MySQLi extends DB_Abstract { /** * Command mapping list * @var array * @access private */ var $commands = array( 'pconnect' => '$this->command_mysqli_connect', 'connect' => '$this->command_mysqli_connect', 'query' => 'mysqli_query', 'error_num' => 'mysqli_errno', 'error_str' => 'mysqli_error', 'escape_string' => 'mysqli_real_escape_string', 'escape_binary' => 'mysqli_real_escape_string', 'unescape_binary' => '$this->command_unescape_binary', 'fetch_assoc' => 'mysqli_fetch_assoc', 'fetch_row' => 'mysqli_fetch_row', 'fetch_object' => 'mysqli_fetch_object', 'free_result' => 'mysqli_free_result', 'insert_id' => 'mysqli_insert_id', 'num_rows' => 'mysqli_num_rows', 'affected_rows' => 'mysqli_affected_rows' ); // ################################################################### /** * Constructor */ function __construct(&$registry) { parent::__construct($registry); } // ################################################################### /** * (PHP 4) Constructor */ function DB_MySQLi(&$registry) { $this->__construct($registry); } // ################################################################### /** * Wrapper: mysqli_connect * * @access protected * * @param string Server name * @param string User name * @param string Password * @param string Database * * @return integer DB-Link */ function command_mysqli_connect($server, $user, $password, $database) { return mysqli_connect($server, $user, $password, $database); } // ################################################################### /** * Not supported: unescape binary string * * @access protected * * @param string Escaped data * * @return string Same data */ function command_unescape_binary($string) { return $string; } // ################################################################### /** * Starts a database transaction * * @access public */ function transaction_start() { $this->query("START TRANSACTION"); } // ################################################################### /** * Saves current transaction steps as a savepoint * * @access public * * @param string Named savepoint */ function transaction_savepoint($name) { $this->query("SAVEPOINT $name"); } // ################################################################### /** * Reverts a transaction back to a given savepoint * * @access public * * @param string Named savepoint */ function transaction_rollback($name = null) { $this->query("ROLLBACK" . ($name != null ? " TO SAVEPOINT $name" : "")); } // ################################################################### /** * Commits a database transaction * * @access public */ function transaction_commit() { $this->query("COMMIT"); } } /*=====================================================================*\ || ################################################################### || # $HeadURL$ || # $Id$ || ################################################################### \*=====================================================================*/ ?>