]>
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 * Wrapper: mysql_pconnect
63 protected function _pConnect($server, $user, $password, $database)
65 $link = @mysql_pconnect($server, $user, $password);
68 $this->_selectDb($database, $link);
74 // ###################################################################
76 * Opens a connection to the specified database name
78 * @param string Database name
79 * @param integer DB-Link
81 private function _selectDb($database, $link)
83 if (!mysql_select_db($database, $link))
85 $this->_error('Cannot use the database "' . $database . '"');
89 // ###################################################################
91 * Wrapper: mysql_query
93 protected function _query($string)
95 return mysql_query($string, $this->dblink
);
98 // ###################################################################
100 * Wrapper: mysql_escape_string
102 protected function _escapeBinary($binary)
104 return mysql_escape_string($binary);
107 // ###################################################################
109 * Wrapper: mysql(_real)_escape_string
111 protected function _escapeString($string)
113 if (function_exists('mysql_real_escape_string'))
115 return @mysql_real_escape_string($string, $this->dblink
);
119 return @mysql_escape_string($string);
123 // ###################################################################
125 * Not supported: unescape binary string
127 protected function _unescapeBinary($string)
132 // ###################################################################
134 * Wrapper: mysql_fetch_assoc
136 protected function _fetchAssocArray($result)
138 return mysql_fetch_assoc($result);
141 // ###################################################################
143 * Wrapper: mysql_fetch_row
145 protected function _fetchRowArray($result)
147 return mysql_fetch_row($result);
150 // ###################################################################
152 * Wrapper: mysql_fetch_object
154 public function _fetchObject($result)
156 return mysql_fetch_object($result);
159 // ###################################################################
161 * Wrapper: mysql_free_result
163 protected function _freeResult($result)
165 mysql_free_result($result);
168 // ###################################################################
170 * Wrapper: mysql_insert_id
172 protected function _insertId()
174 return mysql_insert_id($this->dblink
);
177 // ###################################################################
179 * Wrapper: mysql_num_rows
181 protected function _numRows($result)
183 return mysql_num_rows($result);
186 // ###################################################################
188 * Wrapper: mysql_affected_rows
190 protected function _affectedRows($result)
192 return mysql_affected_rows($this->dblink
);
195 // ###################################################################
197 * Starts a database transaction
199 public function transactionStart()
201 $this->query("BEGIN WORK");
204 // ###################################################################
206 * Saves current transaction steps as a savepoint
208 * @param string Named savepoint
210 public function transactionSavepoint($name)
212 $this->query("SAVEPOINT $name");
215 // ###################################################################
217 * Reverts a transaction back to a given savepoint
219 * @param string Named savepoint
221 public function transactionRollback($name = null)
223 $this->query("ROLLBACK
" . ($name != null ? " TO SAVEPOINT
$name" : ""));
226 // ###################################################################
228 * Commits a database transaction
230 public function transactionCommit()
232 $this->query("COMMIT");
235 // ###################################################################
237 * Returns the error number
239 * @return integer Error number
241 public function _errorNumber()
243 return mysql_errno($this->dblink
);
246 // ###################################################################
248 * Returns the error string
250 * @return string Error string
252 public function _errorString()
254 return mysql_error($this->dblink
);
258 /*=====================================================================*\
259 || ###################################################################
262 || ###################################################################
263 \*=====================================================================*/