]>
src.bluestatic.org Git - isso.git/blob - DbMySql.php
2 /*=====================================================================*\
3 || ###################################################################
4 || # Blue Static ISSO Framework
5 || # Copyright ©2002-[#]year[#] 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 [#]gpl[#] 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 ©2002 - [#]year[#], Blue Static
42 class BSDbMySql
extends BSDb
44 // ###################################################################
46 * Wrapper: mysql_connect
48 protected function _connect($server, $user, $password, $database)
50 $link = @mysql_connect($server, $user, $password, true);
53 $this->_selectDb($database, $link);
59 // ###################################################################
61 * Opens a connection to the specified database name
63 * @param string Database name
64 * @param integer DB-Link
66 private function _selectDb($database, $link)
68 if (!mysql_select_db($database, $link))
70 throw new BSDbException($this->_errorString(), $this->_errorNumber(), 'Cannot use the database ' . $database);
74 // ###################################################################
76 * Wrapper: mysql_query
78 protected function _query($string)
80 return mysql_query($string, $this->dblink
);
83 // ###################################################################
85 * Wrapper: mysql_escape_string
87 protected function _escapeBinary($binary)
89 return mysql_escape_string($binary);
92 // ###################################################################
94 * Wrapper: mysql(_real)_escape_string
96 protected function _escapeString($string)
98 if (function_exists('mysql_real_escape_string'))
100 return @mysql_real_escape_string($string, $this->dblink
);
104 return @mysql_escape_string($string);
108 // ###################################################################
110 * Not supported: unescape binary string
112 protected function _unescapeBinary($string)
117 // ###################################################################
119 * Wrapper: mysql_fetch_assoc
121 protected function _fetchAssocArray($result)
123 return mysql_fetch_assoc($result);
126 // ###################################################################
128 * Wrapper: mysql_fetch_row
130 protected function _fetchRowArray($result)
132 return mysql_fetch_row($result);
135 // ###################################################################
137 * Wrapper: mysql_fetch_object
139 public function _fetchObject($result)
141 return mysql_fetch_object($result);
144 // ###################################################################
146 * Wrapper: mysql_free_result
148 protected function _freeResult($result)
150 mysql_free_result($result);
153 // ###################################################################
155 * Wrapper: mysql_insert_id
157 protected function _insertId()
159 return mysql_insert_id($this->dblink
);
162 // ###################################################################
164 * Wrapper: mysql_num_rows
166 protected function _numRows($result)
168 return mysql_num_rows($result);
171 // ###################################################################
173 * Wrapper: mysql_affected_rows
175 protected function _affectedRows($result)
177 return mysql_affected_rows($this->dblink
);
180 // ###################################################################
182 * Starts a database transaction
184 public function begin()
186 $this->query("BEGIN WORK");
190 // ###################################################################
192 * Reverts a transaction back to a given savepoint
194 public function rollback()
196 $this->query("ROLLBACK");
199 // ###################################################################
201 * Commits a database transaction
203 public function commit()
205 $this->query("COMMIT");
208 // ###################################################################
210 * Returns the error number
212 * @return integer Error number
214 public function _errorNumber()
216 return mysql_errno($this->dblink
);
219 // ###################################################################
221 * Returns the error string
223 * @return string Error string
225 public function _errorString()
227 return mysql_error($this->dblink
);
231 /*=====================================================================*\
232 || ###################################################################
235 || ###################################################################
236 \*=====================================================================*/