| <?
//
// File: arbdb_mysql.php
//  Ver: 0.8a
// Desc: mySql abstraction functions
// Auth: Paul Arbogast 
// *******************
// Latest version is available at http://arbplate.sourceforge.net
// Send Questions or comments to [email protected] 
//
/* Copyright (C) 2001 Paul Arbogast
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License
   as published by the Free Software Foundation; either version 2
   of the License, or (at your option) any later version.
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/
class arbdb {
  var $_DB_TOK;
  var $_DB_RES;
 
  var $_CURRENT_DB    = "";  
 
  var $_DB_HOST = "";
  var $_DB_USER = "";
  var $_DB_PASS = "";
   
  // $dbid = new arbdb( databasename );
  //
  function arbdb ( $argDb = "" ) {
    
	global $ARB_CONFIG;
    $this -> _DB_HOST = $ARB_CONFIG['DB_HOST'] ;
	$this -> _DB_USER = $ARB_CONFIG['DB_USER'] ;
	$this -> _DB_PASS = $ARB_CONFIG['DB_PASS'] ;
    if ( empty( $argDb ) ) {           // if db name supplied, set _current_db so it will be selected automatically         
	  if ( ! ( empty( $ARB_CONFIG['DEF_DB'] ) ) ) {
        $this -> _CURRENT_DB = $ARB_CONFIG['DEF_DB'];
	  } else {
        $this -> _CURRENT_DB = "" ;
	  }
		
	} else {
	  $this -> _CURRENT_DB = $argDB;
    }
	$this -> arbdb_open( );
	  
  }
  // internal - open connection and select db if provided
  //
  function arbdb_open ( ) {
    if ( ! ($this -> _DB_TOK = mysql_connect ( $this -> _DB_HOST , $this -> _DB_USER , $this -> _DB_PASS ) ) ) {
        trigger_error( "[MYSQL: " . mysql_error() . "]" , E_USER_ERROR );
    }
	else
	{
      if ( ! ( empty( $this -> _CURRENT_DB ) ) ) {
	    $this -> arbdb_select_db();
       
	  }
	  
    }
	
  }
  // close database connection
  //
  function arbdb_close ( ) {
     if ( ! ( mysql_close ( $this -> _DB_TOK ) ) ) {
	    trigger_error( "[MYSQL: " . mysql_error( $this -> _DB_TOK ) . "]" , E_USER_ERROR );
	 }
  }
  // select db
  //
  function arbdb_select_db ( ) {
    if ( ! ( mysql_select_db( $this -> _CURRENT_DB /*, $this -> _DB_TOK */ ) ) ) {
echo $this -> _CURRENT_DB ;
//	  trigger_error( "[MYSQL: " . mysql_error( $this -> _DB_TOK ) . "]" , E_USER_ERROR );
	}
  }
  // query currently selected database
  //
  function arbdb_query ( $argQuery = "" ) {
    if ( ! ( $this -> _DB_RES = mysql_query ( $argQuery , $this -> _DB_TOK ) ) ) {
	  trigger_error( "[MYSQL: " . mysql_error( $this -> _DB_TOK ) . "]" , E_USER_ERROR );
	}
	
  }
  
  // get array of next row for current query results
  //
  function arbdb_next ( $rettype = "a" ) {
    if ( $rettype == "a" ) {
	  return mysql_fetch_array ( $this -> _DB_RES , MYSQL_ASSOC );
	} else {
      return mysql_fetch_array ( $this -> _DB_RES , MYSQL_NUM );
	}
  }
  // get number of rows in last query result
  //
  function arbdb_num_rows ( ) {
    
	return mysql_num_rows( $this -> _DB_RES );
  }
 
}
?>
 |