Login   Register  
PHP Classes
elePHPant
Icontem

File: DBHandler.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Kabindra Bakey  >  PHP Database Handler class  >  DBHandler.php  >  Download  
File: DBHandler.php
Role: Application script
Content type: text/plain
Description: Database Handler
Class: PHP Database Handler class
Access MySQL database records using parameters
Author: By
Last change:
Date: 1 year ago
Size: 4,240 bytes
 

Contents

Class file image Download
<?php

class DBHandler
{
    public static function 
Connect($DB_HOST$DB_NAME$DB_USER$DB_PASS)
    {
        try {
            
//mysql conn
            
$con=mysql_connect($DB_HOST,$DB_USER,$DB_PASS);
            
$db=mysql_select_db($DB_NAME);
        } catch (
PDOException $e) {
           print 
"Error!: " $e->getMessage() . "<br/>";
           die();
        }
    }
    public function 
DBHandler($DB_HOST$DB_NAME$DB_USER$DB_PASS)
    {
        return 
$this->__construct($DB_HOST$DB_NAME$DB_USER$DB_PASS);
    }
    public function 
__construct($DB_HOST$DB_NAME$DB_USER$DB_PASS)
    {
       
self::Connect($DB_HOST$DB_NAME$DB_USER$DB_PASS);
    }
    
    
/**
     * select
     * @param string $sql An SQL string
     * @param array $array Paramters to bind
     * @param constant $fetchMode A PDO Fetch mode
     * @return mixed
     */
    
public static function Query($strTable$arFields '*'$strWhere ''$strOrder '',$intRecords=10$intPage )
    {
        if(
$strWhere != '')
        {
            
$strWhere ' where '$strWhere;
        }
        if(
$strOrder != '')
        {
            
$strOrder 'order by '.$strOrder;
        }
        
$limit sprintf(' limit %d, %d', ($intPage-1) * $intRecords$intRecords);
        
        if( 
is_array$arFields )){
            
$strFields implode','$arFields);
        }else{
            
$strFields $arFields;
            if( 
$strFields == ''){ $strFields '*';}
        }
        
$strSQL "SELECT $strFields FROM $strTable $strWhere $strOrder $limit";
        
$objRes mysql_query($strSQL) or die('Invalid SQL: '.mysql_error());
        return 
$objRes;
    }
    
     public static function 
QueryArray($strTable$arFields '*'$strWhere ''$strOrder '',$intRecords=10$intPage )
    {
        
$objRes self::Query$strTable$arFields$strWhere$strOrder$intRecords$intPage);
        return 
self::MySQL_to_Array($objRes);
    }

    
    
/**
     * insert
     * @param string $table A name of table to insert into
     * @param string $data An associative array
     */
    
public static function insert($table$data)
    {        
        
$fieldNames implode('`, `'array_keys($data));
        
$fieldValues implode('", "'array_values($data));
        
$sth mysql_query("INSERT INTO $table (`$fieldNames`) VALUES (\"$fieldValues\")");
        return 
mysql_insert_id();

    }
    
    public static function 
buildUpdateString$arrData$strDelim ', ' ){
        
$arrRows = array();
        foreach(
$arrData as $key=> $value) {
            
$arrRows[] = "`$key`='$value'";
        }
        return 
implode$strDelim$arrRows );
    }
    
    
/**
     * update
     * @param string $table A name of table to insert into
     * @param string $data An associative array
     * @param string $where the WHERE query part
     */
    
public static function update($table$data$where)
    {
        
//ksort($data);
        
        
$fieldDetails NULL;
        
$fieldDetails self::buildUpdateString$data );
        
$sqlStr="UPDATE $table SET $fieldDetails WHERE $where";
        
$sth mysql_query($sqlStr) or die('SQL Error: '.mysql_error());
        return 
$sth;
    }
    
    
/**
     * delete
     * 
     * @param string $table
     * @param string $where
     * @param integer $limit
     * @return integer Affected Rows
     */
    
public static function delete($table$where='')
    {
        if (
$where=='')
            return 
false;
        
$strSql="DELETE FROM $table WHERE $where ";
        
//echo $strSql;
        
mysql_query($strSql) or die(mysql_error());
        return 
true;
    }
    
    
/**
        Public function to make database query
    */
    
public static function MySQL_to_Array$arResult$arFields '' )
    {
        
        if( !
is_array$arFields ))
        {
            
$totFields mysql_num_fields$arResult );
            
$i 0;
            while( 
$i<$totFields)
            {
                
$arFields[] = mysql_field_name$arResult$i++);
            }
        }
       
        
$content = array();
        
$i 0;
        if(
mysql_num_rows($arResult)>0)
        {
            while( 
$row =  mysql_fetch_assoc($arResult))
            {
                foreach(
$arFields as $field)
                {
                    
$content$i ][ $field ] = $row$field ] ;
                    
$content$i ][ $field ] = $content$i ][ $field ];
                }
                
$i++;
            }
        }else{
            
$content false;
        }
        return 
$content;
    }

}