]>
src.bluestatic.org Git - isso.git/blob - DbMySql.php
2 /*=====================================================================*\
3 || ###################################################################
4 || # Blue Static ISSO Framework
5 || # Copyright (c)2005-2008 Blue Static
7 || # This program is free software; you can redistribute it and/or modify
8 || # it under the terms of the GNU General Public License as published by
9 || # the Free Software Foundation; version 2 of the License.
11 || # This program is distributed in the hope that it will be useful, but
12 || # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 || # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16 || # You should have received a copy of the GNU General Public License along
17 || # with this program; if not, write to the Free Software Foundation, Inc.,
18 || # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 || ###################################################################
20 \*=====================================================================*/
23 * MySQL Database Layer (DbMySql.php)
28 require_once(ISSO
. '/Db.php');
31 * MySQL Database Layer
33 * This framework is a function wrapper for MySQL functions so we can have
34 * better error reporting and query reporting.
37 * @copyright Copyright (c)2005 - 2008, Blue Static
41 class BSDbMySql
extends BSDb
43 // ###################################################################
45 * Wrapper: mysql_connect
47 protected function _connect($server, $user, $password, $database)
49 $link = @mysql_connect($server, $user, $password, true);
52 $this->_selectDb($database, $link);
58 // ###################################################################
60 * Opens a connection to the specified database name
62 * @param string Database name
63 * @param integer DB-Link
65 private function _selectDb($database, $link)
67 if (!mysql_select_db($database, $link))
69 throw new BSDbException($this->_errorString(), $this->_errorNumber(), 'Cannot use the database ' . $database);
73 // ###################################################################
75 * Wrapper: mysql_query
77 protected function _query($string)
79 return mysql_query($string, $this->dblink
);
82 // ###################################################################
84 * Wrapper: mysql_escape_string
86 protected function _escapeBinary($binary)
88 return mysql_escape_string($binary);
91 // ###################################################################
93 * Wrapper: mysql(_real)_escape_string
95 protected function _escapeString($string)
97 if (function_exists('mysql_real_escape_string'))
99 return @mysql_real_escape_string($string, $this->dblink
);
103 return @mysql_escape_string($string);
107 // ###################################################################
109 * Not supported: unescape binary string
111 protected function _unescapeBinary($string)
116 // ###################################################################
118 * Wrapper: mysql_insert_id
120 protected function _insertId()
122 return mysql_insert_id($this->dblink
);
125 // ###################################################################
127 * Wrapper: mysql_affected_rows
129 protected function _affectedRows($result)
131 return mysql_affected_rows($this->dblink
);
134 // ###################################################################
136 * Starts a database transaction
138 public function begin()
140 $this->query("BEGIN WORK");
143 // ###################################################################
145 * Reverts a transaction back to a given savepoint
147 public function rollback()
149 $this->query("ROLLBACK");
152 // ###################################################################
154 * Commits a database transaction
156 public function commit()
158 $this->query("COMMIT");
161 // ###################################################################
163 * Returns the error number
165 * @return integer Error number
167 public function _errorNumber()
169 return mysql_errno($this->dblink
);
172 // ###################################################################
174 * Returns the error string
176 * @return string Error string
178 public function _errorString()
180 return mysql_error($this->dblink
);
187 * This class holds result information for a database result
190 * @copyright Copyright (c)2005 - 2008, Blue Static
194 class BSDbMySqlResult
extends BSDbResult
196 // ###################################################################
198 * Wrapper: mysql_fetch_assoc
200 protected function _fetchAssocArray($result)
202 return mysql_fetch_assoc($result);
205 // ###################################################################
207 * Wrapper: mysql_fetch_row
209 protected function _fetchRowArray($result)
211 return mysql_fetch_row($result);
214 // ###################################################################
216 * Wrapper: mysql_fetch_object
218 public function _fetchObject($result)
220 return mysql_fetch_object($result);
223 // ###################################################################
225 * Wrapper: mysql_free_result
227 protected function _freeResult($result)
229 mysql_free_result($result);
232 // ###################################################################
234 * Wrapper: mysql_num_rows
236 protected function _numRows($result)
238 return mysql_num_rows($result);