PHP Classes
Icontem

File: MYSQL_DATABASE.php


  Search   All class groups All class groups   Latest entries Latest entries   Top 10 charts Top 10 charts   Newsletter Newsletter   Blog Blog   Forums Forums   Help FAQ Help FAQ  
  Login   Register  
Recommend this page to a friend! ReTweet ReTweet Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Bryan Smith  >  MySQL Database  >  MYSQL_DATABASE.php  
File: MYSQL_DATABASE.php
Role: Class source
Content type: text/plain
Description: MYSQL_DATABASE class file.
Class: MySQL Database
MySQL database access wrapper
 

Contents

Class file image Download
<?php

require_once('DESTRUCTOR.php');

/**
 * Controls all functionality for database communications.
 * Copyright (C) 2005 - Bryan Smith
 */
class MYSQL_DATABASE extends DESTRUCTOR
{
    
/**
     * MySQL Database Object
     *
     * @var Object
     */
    
var $DataBase_;
    
/**
     * SQL Query provided by user
     *
     * @var String
     */
    
var $Query_;
    
/**
     * Entire Result Set
     *
     * @var Array
     */
    
var $Results_ = array();
    
    
/**
     * Creates connection to database
     *
     * @param String $Server
     * @param String $Name
     * @param String $User
     * @param String $Password
     * @return DATABASE
     */
    
function MYSQL_DATABASE($Server 'localhost'$Name 'root'$User 'sa'$Password)
    {
        
// Must call for destructor to work.
        
parent::DESTRUCTOR();
        
        
$this->DataBase_ mysql_connect($Server$User$Password);
        if (!
mysql_select_db($Name$this->DataBase_))
            die(
mysql_error());
    }
    
    
/**
     * Executes query and builds array of repsonse.
     *
     * @param String $SQL
     * @param Int $Results
     */
    
function Query($SQL$Results MYSQL_ASSOC)
    {
        
// Clear out old array before populating new results.
        
$this->Query_ null;
        
$this->Query_ mysql_query($SQL);
        
$this->GetResults_($Results);
        
mysql_free_result($this->Query_);
    }
    
    
/**
     * Retrieves a single result record from the MySQL response.
     *
     * @param Int $Results
     * @return Array
     */
    
function GetResult($Results null)
    {
        return 
mysql_fetch_array($this->Query_$Results);
    }
    
    
/**
     * Builds an array of all rows from the MySQL response.
     *
     * @param unknown_type $Results
     */
    
function GetResults_($Results null)
    {
        if (!
$this->Query_)
            die (
mysql_error());
        
        while (
$ThisRow $this->GetResult($Results))
            
$this->Results_[] = $ThisRow;
    }
    
    
/**
     * Returns an entire record based on array index.
     *
     * @param Int $Index
     * @return Object
     */
    
function GetRecord($Index)
    {
        return new 
DATABASE_RECORD($Index$this);
    }
    
    
/**
     * Retrives a value specified by array index and associative key.
     *
     * @param Int $Index
     * @param String $Key
     * @param String $Default
     * @return String
     */
    
function GetField($Index$Key$Default null)
    {
        if (!empty(
$this->Results_[$Index][$Key]))
            return 
trim($this->Results_[$Index][$Key]);
        elseif (!empty(
$this->Results_[0][$Key]))
            return 
trim($this->Results_[0][$Key]);
        else
            return 
$Default;
    }
    
    
/**
     * Close MySQL data connection.
     *
     */
    
function __destructor()
    {
        
mysql_close($this->DataBase_);
        echo 
'HEY!';
    }
}

/**
 * Retrieves entire row from DATABASE
 *
 */
class DATABASE_RECORD
{
    var 
$Index_;
    var 
$Data_;
    
    
/**
     * Assigns DATABASE reference to current object.
     *
     * @param Int $Index
     * @param Object $Data
     * @return DATABASE_RECORD
     */
    
function DATABASE_RECORD($Index, &$Data)
    {
        
$this->Index_ $Index;
        
$this->Data_ $Data;
    }
    
    
/**
     * Retrives a single field by key.
     *
     * @param String $Key
     * @param String $Default
     * @return String
     */
    
function GetField($Key$Default null)
    {
        return 
$this->Data_->GetField($this->Index_$Key$Default);
    }
}

$DataBase = new MQSL_DATABASE(DB_SERVERDB_NAMEDB_USERDB_PASSWORD);
?>

 
  Advertise on this site Advertise on this site   Site map Site map   Statistics Statistics   Site tips Site tips   Privacy policy Privacy policy   Contact Contact  

For more information send a message to :
info at phpclasses dot org.
Copyright (c) Icontem 1999-2009 PHP Classes - PHP Class Scripts
  PHP Book Reviews - Reviews of books and other products