[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 /*************************************************************************** 3 * mysql4.php 4 * ------------------- 5 * begin : Saturday, Feb 13, 2001 6 * copyright : (C) 2001 The phpBB Group 7 * email : supportphpbb.com 8 * 9 * $Id: mysql4.php 5211 2005-09-18 16:17:21Z acydburn $ 10 * 11 ***************************************************************************/ 12 13 /*************************************************************************** 14 * 15 * This program is free software; you can redistribute it and/or modify 16 * it under the terms of the GNU General Public License as published by 17 * the Free Software Foundation; either version 2 of the License, or 18 * (at your option) any later version. 19 * 20 ***************************************************************************/ 21 22 if(!defined("SQL_LAYER")) 23 { 24 25 define("SQL_LAYER","mysql4"); 26 27 class sql_db 28 { 29 30 var $db_connect_id; 31 var $query_result; 32 var $row = array(); 33 var $rowset = array(); 34 var $num_queries = 0; 35 var $in_transaction = 0; 36 37 // 38 // Constructor 39 // 40 function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true) 41 { 42 $this->persistency = $persistency; 43 $this->user = $sqluser; 44 $this->password = $sqlpassword; 45 $this->server = $sqlserver; 46 $this->dbname = $database; 47 48 $this->db_connect_id = ($this->persistency) ? mysql_pconnect($this->server, $this->user, $this->password) : mysql_connect($this->server, $this->user, $this->password); 49 50 if( $this->db_connect_id ) 51 { 52 if( $database != "" ) 53 { 54 $this->dbname = $database; 55 $dbselect = mysql_select_db($this->dbname); 56 57 if( !$dbselect ) 58 { 59 mysql_close($this->db_connect_id); 60 $this->db_connect_id = $dbselect; 61 } 62 } 63 64 return $this->db_connect_id; 65 } 66 else 67 { 68 return false; 69 } 70 } 71 72 // 73 // Other base methods 74 // 75 function sql_close() 76 { 77 if( $this->db_connect_id ) 78 { 79 // 80 // Commit any remaining transactions 81 // 82 if( $this->in_transaction ) 83 { 84 mysql_query("COMMIT", $this->db_connect_id); 85 } 86 87 return mysql_close($this->db_connect_id); 88 } 89 else 90 { 91 return false; 92 } 93 } 94 95 // 96 // Base query method 97 // 98 function sql_query($query = "", $transaction = FALSE) 99 { 100 // 101 // Remove any pre-existing queries 102 // 103 unset($this->query_result); 104 105 if( $query != "" ) 106 { 107 $this->num_queries++; 108 if( $transaction == BEGIN_TRANSACTION && !$this->in_transaction ) 109 { 110 $result = mysql_query("BEGIN", $this->db_connect_id); 111 if(!$result) 112 { 113 return false; 114 } 115 $this->in_transaction = TRUE; 116 } 117 118 $this->query_result = mysql_query($query, $this->db_connect_id); 119 } 120 else 121 { 122 if( $transaction == END_TRANSACTION && $this->in_transaction ) 123 { 124 $result = mysql_query("COMMIT", $this->db_connect_id); 125 } 126 } 127 128 if( $this->query_result ) 129 { 130 unset($this->row[$this->query_result]); 131 unset($this->rowset[$this->query_result]); 132 133 if( $transaction == END_TRANSACTION && $this->in_transaction ) 134 { 135 $this->in_transaction = FALSE; 136 137 if ( !mysql_query("COMMIT", $this->db_connect_id) ) 138 { 139 mysql_query("ROLLBACK", $this->db_connect_id); 140 return false; 141 } 142 } 143 144 return $this->query_result; 145 } 146 else 147 { 148 if( $this->in_transaction ) 149 { 150 mysql_query("ROLLBACK", $this->db_connect_id); 151 $this->in_transaction = FALSE; 152 } 153 return false; 154 } 155 } 156 157 // 158 // Other query methods 159 // 160 function sql_numrows($query_id = 0) 161 { 162 if( !$query_id ) 163 { 164 $query_id = $this->query_result; 165 } 166 167 return ( $query_id ) ? mysql_num_rows($query_id) : false; 168 } 169 170 function sql_affectedrows() 171 { 172 return ( $this->db_connect_id ) ? mysql_affected_rows($this->db_connect_id) : false; 173 } 174 175 function sql_numfields($query_id = 0) 176 { 177 if( !$query_id ) 178 { 179 $query_id = $this->query_result; 180 } 181 182 return ( $query_id ) ? mysql_num_fields($query_id) : false; 183 } 184 185 function sql_fieldname($offset, $query_id = 0) 186 { 187 if( !$query_id ) 188 { 189 $query_id = $this->query_result; 190 } 191 192 return ( $query_id ) ? mysql_field_name($query_id, $offset) : false; 193 } 194 195 function sql_fieldtype($offset, $query_id = 0) 196 { 197 if( !$query_id ) 198 { 199 $query_id = $this->query_result; 200 } 201 202 return ( $query_id ) ? mysql_field_type($query_id, $offset) : false; 203 } 204 205 function sql_fetchrow($query_id = 0) 206 { 207 if( !$query_id ) 208 { 209 $query_id = $this->query_result; 210 } 211 212 if( $query_id ) 213 { 214 $this->row[$query_id] = mysql_fetch_array($query_id, MYSQL_ASSOC); 215 return $this->row[$query_id]; 216 } 217 else 218 { 219 return false; 220 } 221 } 222 223 function sql_fetchrowset($query_id = 0) 224 { 225 if( !$query_id ) 226 { 227 $query_id = $this->query_result; 228 } 229 230 if( $query_id ) 231 { 232 unset($this->rowset[$query_id]); 233 unset($this->row[$query_id]); 234 235 while($this->rowset[$query_id] = mysql_fetch_array($query_id, MYSQL_ASSOC)) 236 { 237 $result[] = $this->rowset[$query_id]; 238 } 239 240 return $result; 241 } 242 else 243 { 244 return false; 245 } 246 } 247 248 function sql_fetchfield($field, $rownum = -1, $query_id = 0) 249 { 250 if( !$query_id ) 251 { 252 $query_id = $this->query_result; 253 } 254 255 if( $query_id ) 256 { 257 if( $rownum > -1 ) 258 { 259 $result = mysql_result($query_id, $rownum, $field); 260 } 261 else 262 { 263 if( empty($this->row[$query_id]) && empty($this->rowset[$query_id]) ) 264 { 265 if( $this->sql_fetchrow() ) 266 { 267 $result = $this->row[$query_id][$field]; 268 } 269 } 270 else 271 { 272 if( $this->rowset[$query_id] ) 273 { 274 $result = $this->rowset[$query_id][0][$field]; 275 } 276 else if( $this->row[$query_id] ) 277 { 278 $result = $this->row[$query_id][$field]; 279 } 280 } 281 } 282 283 return $result; 284 } 285 else 286 { 287 return false; 288 } 289 } 290 291 function sql_rowseek($rownum, $query_id = 0) 292 { 293 if( !$query_id ) 294 { 295 $query_id = $this->query_result; 296 } 297 298 return ( $query_id ) ? mysql_data_seek($query_id, $rownum) : false; 299 } 300 301 function sql_nextid() 302 { 303 return ( $this->db_connect_id ) ? mysql_insert_id($this->db_connect_id) : false; 304 } 305 306 function sql_freeresult($query_id = 0) 307 { 308 if( !$query_id ) 309 { 310 $query_id = $this->query_result; 311 } 312 313 if ( $query_id ) 314 { 315 unset($this->row[$query_id]); 316 unset($this->rowset[$query_id]); 317 318 mysql_free_result($query_id); 319 320 return true; 321 } 322 else 323 { 324 return false; 325 } 326 } 327 328 function sql_error() 329 { 330 $result['message'] = mysql_error($this->db_connect_id); 331 $result['code'] = mysql_errno($this->db_connect_id); 332 333 return $result; 334 } 335 336 } // class sql_db 337 338 } // if ... define 339 340 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Mon Jan 14 19:21:40 2013 | Cross-referenced by PHPXref 0.7.1 |