Source for file StaticDBUtil.php

Documentation is available at StaticDBUtil.php

  1. <?php
  2.     /**
  3.      * Proxy Database Util Class
  4.      *
  5.      * @copyright Copyright (c) 2003-2006 Mirchev Ideas Ltd. All rights reserved.
  6.      * @package MIPHPF
  7.      */
  8.  
  9.     /**
  10.      */
  11.     require_once('DBUtilImpl.php');
  12.     
  13.     
  14.     /**
  15.      * A proxy class that has static methods to access the preconfigured database connection
  16.      * The database connection is configured using the following settings:
  17.      * MI_DEFAULT_DB_HOST, MI_DEFAULT_DB_USER, MI_DEFAULT_DB_PASS and MI_DEFAULT_DB_NAME
  18.      *
  19.      * @copyright Copyright (c) 2003-2006 Mirchev Ideas Ltd. All rights reserved.
  20.      * @package MIPHPF
  21.      */
  22.     class miStaticDBUtil {
  23.         
  24.         
  25.         /**
  26.          * Returns an object of class miDBUtilImpl
  27.          *
  28.          * Object of class miDBUtilImpl or its subclasses is needed to handle
  29.          * the connection between database and miStaticDBUtil class
  30.          * 
  31.          * @access public
  32.          * @return object object of class miDBUtilImpl or its subclasses
  33.          */
  34.         public static function getDBUtil()
  35.         {
  36.             static $dBUtil null;
  37.             
  38.             if ($dBUtil != null)
  39.                 return $dBUtil;
  40.             
  41.             $settings miSettings::singleton();
  42.             $dBUtil new miDBUtilImpl($settings->get('MI_DEFAULT_DB_HOST')$settings->get('MI_DEFAULT_DB_USER'),
  43.                 $settings->get('MI_DEFAULT_DB_PASS')$settings->get('MI_DEFAULT_DB_NAME'));
  44.             return $dBUtil;
  45.         }
  46.         
  47.         /**
  48.          * Ping the database and attempt to reconnect if necessary
  49.          * 
  50.          * @access public
  51.          * @return false on failure, true on success
  52.          * @throws miDBException
  53.          */
  54.         public static function ping()
  55.         {
  56.             return miStaticDBUtil::getDBUtil()->ping();
  57.         }
  58.         
  59.         /**
  60.          * Executes a SQL query
  61.          * 
  62.          * @access public
  63.          * @param string $query query string
  64.          * @return resource Resource identifier or true depending on the query
  65.          * @throws miDBException
  66.          */
  67.         public static function &execSQL($query)
  68.         {
  69.             return miStaticDBUtil::getDBUtil()->execSQL($query);
  70.         }
  71.         
  72.         
  73.         /**
  74.          * Executes a SQL insert query
  75.          * 
  76.          * @access public
  77.          * @param string $query query string
  78.          * @return int the ID generated for an AUTO_INCREMENT column by the previous INSERT query
  79.          *  or 0 if the previous query does not generate an AUTO_INCREMENT value
  80.          * @throws miDBException
  81.          */
  82.         public static function execSQLInsert($query)
  83.         {
  84.             return miStaticDBUtil::getDBUtil()->execSQLInsert($query);
  85.         }
  86.         
  87.         
  88.         /**
  89.          * Returns an array with associative arrays from the result
  90.          * 
  91.          * @access public
  92.          * @param string $query query string
  93.          * @param array $params positional query params (optional)
  94.          * @return array array with associative arrays from the result
  95.          * @throws miDBException
  96.          */
  97.         public static function execSelect($query$params array())
  98.         {
  99.             return miStaticDBUtil::getDBUtil()->execSelect($query$params);
  100.         }
  101.         
  102.         
  103.         /**
  104.          * Executes the select query and also returns the selected column names in the $fieldsArray
  105.          * 
  106.          * @access public
  107.          * @param string $query query string
  108.          * @param array $fieldsArray array for names of the fields
  109.          * @return array array with associative arrays from the result
  110.          * @throws miDBException
  111.          */
  112.         public static function execSelectAndGetFields($query&$fieldsArray)
  113.         {
  114.             return miStaticDBUtil::getDBUtil()->execSelectAndGetFields($query$fieldsArray);
  115.         }
  116.         
  117.         
  118.         /**
  119.          * Executes a SQL insert query from an associative array.
  120.          * 
  121.          * Associative array is representing one record where keys
  122.          * are the table fields names.
  123.          * 
  124.          * @access public
  125.          * @param string $table table name
  126.          * @param array $values associative arrays with data for inserting
  127.          * @return int the ID generated for an AUTO_INCREMENT column by the previous INSERT query
  128.          *  or 0 if the previous query does not generate an AUTO_INCREMENT value
  129.          * @throws miDBException
  130.          */
  131.         public static function execInsert($table$values)
  132.         {
  133.             return miStaticDBUtil::getDBUtil()->execInsert($table$values);
  134.         }
  135.         
  136.         
  137.         /**
  138.          * Executes a SQL update query from an array for a specify record key
  139.          * 
  140.          * @access public
  141.          * @param string $table database table name
  142.          * @param array $values associative arrays with data for updating
  143.          * @param string $key name of the key field
  144.          * @param int $keyval value of the key field
  145.          * @return void 
  146.          * @throws miDBException
  147.          */
  148.         public static function execUpdate($table$values$key$keyval)
  149.         {
  150.             miStaticDBUtil::getDBUtil()->execUpdate($table$values$key$keyval);
  151.         }
  152.         
  153.         
  154.         /**
  155.          * Executes a SQL delete query for a specify record key
  156.          * 
  157.          * @access public
  158.          * @param string $table database table name
  159.          * @param string $key name of the key field
  160.          * @param int $keyval value of the key field
  161.          * @return void 
  162.          * @throws miDBException
  163.          */
  164.         public static function execDelete($table$key$keyval)
  165.         {
  166.             miStaticDBUtil::getDBUtil()->execDelete($table$key$keyval);
  167.         }
  168.         
  169.         
  170.         /**
  171.          * Returns an array with names of the fields in the specified table.
  172.          * 
  173.          * @access public
  174.          * @param string $table database table name
  175.          * @return array array with names of the fields
  176.          * @throws miDBException
  177.          */
  178.         public static function &getTableFields($table)
  179.         {
  180.             return miStaticDBUtil::getDBUtil()->getTableFields($table);
  181.         }
  182.     }
  183. ?>

Documentation generated on Thu, 08 May 2008 16:57:41 +0300 by phpDocumentor 1.4.1