View Single Post
Old 04-28-2009, 04:27 PM   #1 (permalink)
maZtah
The Acquainted
 
Join Date: Oct 2007
Posts: 170
Thanks: 18
maZtah is an unknown quantity at this point
Default Singleton PDO Database class, tips/suggestions?

Hi all,

This is a singleton PDO Database class I wrote. Do you have any tips/suggestions?

PHP Code:
<?php

class Database
{
    private static 
$m_pInstance NULL;
    private 
$m_pConn;
    
    private function 
__construct() {
        
$this->connect('hostname''username''password''database');
    }
    
    private function 
__clone() { }
    
    public static function 
get_instance()
    {
        if (!
self::$m_pInstance)
        {
            
self::$m_pInstance = new Database();
        }
        
        return 
self::$m_pInstance;
    }
    
    public function 
connect($szHostname$szUsername$szPassword$szDatabase)
    {
        try
        {
            
$this->m_pConn = new PDO('mysql:host='.$szHostname.';dbname='.$szDatabase$szUsername$szPassword);
                        
            
$this->m_pConn->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
        }
        catch(
PDOException $e)
        {
            echo 
$e->getMessage();
        }
    }
    
    public function 
query($szQuery)
    {
        
$pStatement $this->m_pConn->prepare($szQuery);
        
$pStatement->execute();
        
        
$aResult $pStatement->fetchAll();
        
        return 
$aResult;
    }
    
    public function 
query_row($szQuery)
    {
        
$aResult $this->query($szQuery);
        
        return 
$aResult[0];
    }
    
    public function 
query_column($szQuery)
    {
        
$aResult $this->query_row($szQuery);
        
        return 
$aResult[0];
    }
    
    public function 
insert($szQuery)
    {
        
$iCount $this->m_pConn->exec($szQuery);
        
        return 
$iCount;
    }
}

?>
maZtah is offline  
Reply With Quote