Класс для работы с MySQL

<?php
class MumbuDB {
    /**
    * Ссылка соединения
    */
    public $db_link;
 
    /**
    * Режим отладки
    */
    public $debugging = true;
 
    /**
    * Запросы
    */
    public $list_queries = array();
 
    /**
    * Подключение к MySQL
    */
    public function connect($DB_HOST,$DB_USER,$DB_NAME,$DB_PASSWORD){
 
            $this->db_link = mysql_connect($DB_HOST,$DB_USER,$DB_PASSWORD) or $this->error("Не возможно подключиться к MySQL серверу");
                mysql_select_db($DB_NAME) or $this->error('Не возможно выбрать базу данных "'.$DB_NAME.'"');
                mysql_query("SET NAMES UTF8");
 
    }
 
    /**
    * Аналог mysql_num_rows
    */
    public function mumbu_sql($sql){
        # Засекаем время выполнения запроса
        $start_time = microtime(true);
 
        # Выполняем запрос
                $result = mysql_query($sql, $this->db_link) or $this->error($sql . PHP_EOL . mysql_error($this->db_link));
 
        # Получаем время по окончанию запроса
        $end_time = microtime(true);
 
        # Высчитываем время на запрос
        $query_time = $end_time - $start_time;
 
        $this->list_queries[] = array(
            'query' => $query,
            'time' => $query_time
        );
 
        return $result;
 
 
    }
 
    /**
    * Аналог mysql_num_rows
    */
    public function mumbu_num_rows($sql){
 
        return mysql_num_rows($this->mumbu_sql($sql));
 
    }
 
    /**
    * Аналог mysql_result
    */
    public function mumbu_one($sql){
 
        return mysql_result($this->mumbu_sql($sql),0);
 
    }
 
    /**
    * Аналог mysql_fetch_assoc
    */
    public function mumbu_fetch($sql){
 
        return mysql_fetch_assoc($this->mumbu_sql($sql));
 
    }
 
    /**
    * Последний вставленный id
    */
    public function insert_id() {
        return mysql_insert_id($this->db_link);
    }
 
    /**
    * Закрытие соединения
    */
    public function close(){
        if($this->db_link) mysql_close($this->db_link);
        $this->db_link = NULL;
        exit;
    }
 
    /**
    * Вывод ошибки и завершение работы
    */
    protected function error($error){
        if($this->debugging) print "<pre>". $error ."
";
exit;
}


}
?>

Использовать:

$DB = new MumbuDB();
$DB->connect('DB_HOST', 'DB_USER', 'DB_NAME', 'DB_PASSWORD');


Небольшой профайлер приложения
function a_profiler($start_time){
	GLOBAL $DB;

	$end_time = microtime(true);

	echo PHP_EOL .'<!-- '. PHP_EOL;
	echo 'Время выполнения: '. round($end_time - $start_time, 5) .' сек.'. PHP_EOL . PHP_EOL;
	if($DB) {
		echo 'Запросов к БД: '. count($DB->list_queries) . PHP_EOL;
		if(count($DB->list_queries) > 0) {
			foreach($DB->list_queries AS $query_data) {
				echo $query_data['query'] .' ('. round($query_data['time'], 5) .' сек.)'. PHP_EOL;
			}
		}
	}
	else {
		echo "Подключения к базе не было.";
	}
	echo PHP_EOL . PHP_EOL;
	echo 'GET данные:'. PHP_EOL;
	print_r($_GET);
	echo PHP_EOL . PHP_EOL;
	echo 'POST данные:'. PHP_EOL;
	print_r($_POST);
	echo PHP_EOL . PHP_EOL;
	echo 'COOKIE данные:'. PHP_EOL;
	print_r($_COOKIE);
	echo PHP_EOL . PHP_EOL;
	echo 'SESSION данные:'. PHP_EOL;
	print_r($_SESSION);
	echo ' -->';
}