<?php
 
class mysql
{
    function mysql($conf)
    {
        if (!function_exists('mysql_connect'))
        {
            return 'MySQL extension is not loaded';
        }
        
        $this->connect($conf);
        
        return true;
    }
    
    function current_microtime()
    {
        list($usec, $sec) = explode(" ", microtime());
        return ((float)$usec + (float)$sec);
    }
    
    function connect($conf)
    {
        if ($conf['pers'])
        {
            mysql_pconnect($conf['host'], $conf['user'], $conf['pass'])
                or die (mysql_error());
        } else {
            mysql_connect($conf['host'], $conf['user'], $conf['pass'])
                or die (mysql_error());
        }
            
        mysql_select_db($conf['db'])
            or die (mysql_error());
    }
    
    function query($query)
    {
        $start_time = $this->current_microtime();
        
        $q = mysql_query($query)
            or die (mysql_error() . ': <br />' . nl2br($query));
        
        $ret = array();
        
        if (@mysql_num_rows($q) > 0)
        {
            while ($p = mysql_fetch_assoc($q))
            {
                $ret[] = $p;
            }
        }
        
        @mysql_free_result($q);
        
        $GLOBALS['total_mysql_queries']++;
        $GLOBALS['total_mysql_time'] += $this->current_microtime() - $start_time;
        
        return $ret;
    }
}
 
$db_conf = array(
	'host'	=>	'localhost',
	'user'	=>	'',
	'pass'	=>	'',
	'db'	=>	'',
	'pers'	=>	false // persistent connection?
);
 
$db = new mysql($db_conf);
print_r($db->query("select * from users"));
 
?>