[ Index ]
 

Code source de PunBB 1.2.16

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/upload/include/dblayer/ -> mysqli.php (source)

   1  <?php
   2  /***********************************************************************
   3  
   4    Copyright (C) 2002-2005  Rickard Andersson (rickard@punbb.org)
   5  
   6    This file is part of PunBB.
   7  
   8    PunBB is free software; you can redistribute it and/or modify it
   9    under the terms of the GNU General Public License as published
  10    by the Free Software Foundation; either version 2 of the License,
  11    or (at your option) any later version.
  12  
  13    PunBB is distributed in the hope that it will be useful, but
  14    WITHOUT ANY WARRANTY; without even the implied warranty of
  15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16    GNU General Public License for more details.
  17  
  18    You should have received a copy of the GNU General Public License
  19    along with this program; if not, write to the Free Software
  20    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  21    MA  02111-1307  USA
  22  
  23  ************************************************************************/
  24  
  25  
  26  // Make sure we have built in support for MySQL
  27  if (!function_exists('mysqli_connect'))
  28      exit('This PHP environment doesn\'t have Improved MySQL (mysqli) support built in. Improved MySQL support is required if you want to use a MySQL 4.1 (or later) database to run this forum. Consult the PHP documentation for further assistance.');
  29  
  30  
  31  class DBLayer
  32  {
  33      var $prefix;
  34      var $link_id;
  35      var $query_result;
  36  
  37      var $saved_queries = array();
  38      var $num_queries = 0;
  39  
  40  
  41  	function DBLayer($db_host, $db_username, $db_password, $db_name, $db_prefix, $foo)
  42      {
  43          $this->prefix = $db_prefix;
  44  
  45          // Was a custom port supplied with $db_host?
  46          if (strpos($db_host, ':') !== false)
  47              list($db_host, $db_port) = explode(':', $db_host);
  48  
  49          if (isset($db_port))
  50              $this->link_id = @mysqli_connect($db_host, $db_username, $db_password, $db_name, $db_port);
  51          else
  52              $this->link_id = @mysqli_connect($db_host, $db_username, $db_password, $db_name);
  53  
  54          if (!$this->link_id)
  55              error('Unable to connect to MySQL and select database. MySQL reported: '.mysqli_connect_error(), __FILE__, __LINE__);
  56      }
  57  
  58  
  59  	function start_transaction()
  60      {
  61          return;
  62      }
  63  
  64  
  65  	function end_transaction()
  66      {
  67          return;
  68      }
  69  
  70  
  71  	function query($sql, $unbuffered = false)
  72      {
  73          if (defined('PUN_SHOW_QUERIES'))
  74              $q_start = get_microtime();
  75  
  76          $this->query_result = @mysqli_query($this->link_id, $sql);
  77  
  78          if ($this->query_result)
  79          {
  80              if (defined('PUN_SHOW_QUERIES'))
  81                  $this->saved_queries[] = array($sql, sprintf('%.5f', get_microtime() - $q_start));
  82  
  83              ++$this->num_queries;
  84  
  85              return $this->query_result;
  86          }
  87          else
  88          {
  89              if (defined('PUN_SHOW_QUERIES'))
  90                  $this->saved_queries[] = array($sql, 0);
  91  
  92              return false;
  93          }
  94      }
  95  
  96  
  97  	function result($query_id = 0, $row = 0)
  98      {
  99          if ($query_id)
 100          {
 101              if ($row)
 102                  @mysqli_data_seek($query_id, $row);
 103  
 104              $cur_row = @mysqli_fetch_row($query_id);
 105              return $cur_row[0];
 106          }
 107          else
 108              return false;
 109      }
 110  
 111  
 112  	function fetch_assoc($query_id = 0)
 113      {
 114          return ($query_id) ? @mysqli_fetch_assoc($query_id) : false;
 115      }
 116  
 117  
 118  	function fetch_row($query_id = 0)
 119      {
 120          return ($query_id) ? @mysqli_fetch_row($query_id) : false;
 121      }
 122  
 123  
 124  	function num_rows($query_id = 0)
 125      {
 126          return ($query_id) ? @mysqli_num_rows($query_id) : false;
 127      }
 128  
 129  
 130  	function affected_rows()
 131      {
 132          return ($this->link_id) ? @mysqli_affected_rows($this->link_id) : false;
 133      }
 134  
 135  
 136  	function insert_id()
 137      {
 138          return ($this->link_id) ? @mysqli_insert_id($this->link_id) : false;
 139      }
 140  
 141  
 142  	function get_num_queries()
 143      {
 144          return $this->num_queries;
 145      }
 146  
 147  
 148  	function get_saved_queries()
 149      {
 150          return $this->saved_queries;
 151      }
 152  
 153  
 154  	function free_result($query_id = false)
 155      {
 156          return ($query_id) ? @mysqli_free_result($query_id) : false;
 157      }
 158  
 159  
 160  	function escape($str)
 161      {
 162          return is_array($str) ? '' : mysqli_real_escape_string($this->link_id, $str);
 163      }
 164  
 165  
 166  	function error()
 167      {
 168          $result['error_sql'] = @current(@end($this->saved_queries));
 169          $result['error_no'] = @mysqli_errno($this->link_id);
 170          $result['error_msg'] = @mysqli_error($this->link_id);
 171  
 172          return $result;
 173      }
 174  
 175  
 176  	function close()
 177      {
 178          if ($this->link_id)
 179          {
 180              if ($this->query_result)
 181                  @mysqli_free_result($this->query_result);
 182  
 183              return @mysqli_close($this->link_id);
 184          }
 185          else
 186              return false;
 187      }
 188  }


Généré le : Sat Nov 24 22:44:38 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics