| 
<?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 = 1 )
 {
 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 = 1 )
 {
 $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;
 }
 
 }
 |