Verzeichnisstruktur phpBB-2.0.0


Veröffentlicht
03.04.2002

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

      (Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

mysql4.php

Zuletzt modifiziert: 09.10.2024, 12:51 - Dateigröße: 6.28 KiB


 001  <?php
 002  /***************************************************************************
 003   *                                 mysql4.php
 004   *                            -------------------
 005   *   begin                : Saturday, Feb 13, 2001
 006   *   copyright            : (C) 2001 The phpBB Group
 007   *   email                : supportphpbb.com
 008   *
 009   *   $Id$
 010   *
 011   ***************************************************************************/
 012   
 013  /***************************************************************************
 014   *
 015   *   This program is free software; you can redistribute it and/or modify
 016   *   it under the terms of the GNU General Public License as published by
 017   *   the Free Software Foundation; either version 2 of the License, or
 018   *   (at your option) any later version.
 019   *
 020   ***************************************************************************/
 021   
 022  if(!defined("SQL_LAYER"))
 023  {
 024   
 025  define("SQL_LAYER","mysql4");
 026   
 027  class sql_db
 028  {
 029   
 030      var $db_connect_id;
 031      var $query_result;
 032      var $row = array();
 033      var $rowset = array();
 034      var $num_queries = 0;
 035      var $in_transaction = 0;
 036   
 037      //
 038      // Constructor
 039      //
 040      function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
 041      {
 042          $this->persistency = $persistency;
 043          $this->user = $sqluser;
 044          $this->password = $sqlpassword;
 045          $this->server = $sqlserver;
 046          $this->dbname = $database;
 047   
 048          $this->db_connect_id = ($this->persistency) ? mysql_pconnect($this->server, $this->user, $this->password) : mysql_connect($this->server, $this->user, $this->password);
 049   
 050          if( $this->db_connect_id )
 051          {
 052              if( $database != "" )
 053              {
 054                  $this->dbname = $database;
 055                  $dbselect = mysql_select_db($this->dbname);
 056   
 057                  if( !$dbselect )
 058                  {
 059                      mysql_close($this->db_connect_id);
 060                      $this->db_connect_id = $dbselect;
 061                  }
 062              }
 063   
 064              return $this->db_connect_id;
 065          }
 066          else
 067          {
 068              return false;
 069          }
 070      }
 071   
 072      //
 073      // Other base methods
 074      //
 075      function sql_close()
 076      {
 077          if( $this->db_connect_id )
 078          {
 079              //
 080              // Commit any remaining transactions
 081              //
 082              if( $this->in_transaction )
 083              {
 084                  mysql_query("COMMIT", $this->db_connect_id);
 085              }
 086   
 087              return mysql_close($this->db_connect_id);
 088          }
 089          else
 090          {
 091              return false;
 092          }
 093      }
 094   
 095      //
 096      // Base query method
 097      //
 098      function sql_query($query = "", $transaction = FALSE)
 099      {
 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  ?>
 341