_selectDb($database, $link); } return $link; } // ################################################################### /** * Opens a connection to the specified database name * * @param string Database name * @param integer DB-Link */ private function _selectDb($database, $link) { if (!mysql_select_db($database, $link)) { $this->_error('Cannot use the database "' . $database . '"'); } } // ################################################################### /** * Wrapper: mysql_query */ protected function _query($string) { return mysql_query($string, $this->dblink); } // ################################################################### /** * Wrapper: mysql_escape_string */ protected function _escapeBinary($binary) { return mysql_escape_string($binary); } // ################################################################### /** * Wrapper: mysql(_real)_escape_string */ protected function _escapeString($string) { if (function_exists('mysql_real_escape_string')) { return @mysql_real_escape_string($string, $this->dblink); } else { return @mysql_escape_string($string); } } // ################################################################### /** * Not supported: unescape binary string */ protected function _unescapeBinary($string) { return $string; } // ################################################################### /** * Wrapper: mysql_fetch_assoc */ protected function _fetchAssocArray($result) { return mysql_fetch_assoc($result); } // ################################################################### /** * Wrapper: mysql_fetch_row */ protected function _fetchRowArray($result) { return mysql_fetch_row($result); } // ################################################################### /** * Wrapper: mysql_fetch_object */ public function _fetchObject($result) { return mysql_fetch_object($result); } // ################################################################### /** * Wrapper: mysql_free_result */ protected function _freeResult($result) { mysql_free_result($result); } // ################################################################### /** * Wrapper: mysql_insert_id */ protected function _insertId() { return mysql_insert_id($this->dblink); } // ################################################################### /** * Wrapper: mysql_num_rows */ protected function _numRows($result) { return mysql_num_rows($result); } // ################################################################### /** * Wrapper: mysql_affected_rows */ protected function _affectedRows($result) { return mysql_affected_rows($this->dblink); } // ################################################################### /** * Starts a database transaction */ public function transactionStart() { $this->query("BEGIN WORK"); } // ################################################################### /** * Saves current transaction steps as a savepoint * * @param string Named savepoint */ public function transactionSavepoint($name) { $this->query("SAVEPOINT $name"); } // ################################################################### /** * Reverts a transaction back to a given savepoint * * @param string Named savepoint */ public function transactionRollback($name = null) { $this->query("ROLLBACK" . ($name != null ? " TO SAVEPOINT $name" : "")); } // ################################################################### /** * Commits a database transaction */ public function transactionCommit() { $this->query("COMMIT"); } // ################################################################### /** * Returns the error number * * @return integer Error number */ public function _errorNumber() { return mysql_errno($this->dblink); } // ################################################################### /** * Returns the error string * * @return string Error string */ public function _errorString() { return mysql_error($this->dblink); } } /*=====================================================================*\ || ################################################################### || # $HeadURL$ || # $Id$ || ################################################################### \*=====================================================================*/ ?>