<?php
class pdo_mysql extends sql_utils {
static $queryes = 0;
static $time_parse;
static $query_list;
static $link;
public function __construct()
{
try {
self::$link = new PDO_('mysql:host=' . DB_HOST . ';port=' . DB_PORT . ';dbname=' . DB_NAME, DB_USER, DB_PASS);
self::$link->exec('SET CHARACTER SET utf8');
self::$link->exec('SET NAMES utf8');
}
catch (PDOException $e) {
die('Ошибка!!!<br />: ' . $e->getMessage());
}
}
public static function num_rows($link)
{
try {
$result = $link->rowCount();
}
catch (PDOException $e) {
die('Ошибка!!!<br />: ' . $e->getMessage());
}
return $result;
}
public static function fetch_assoc($link)
{
try {
$result = $link->fetch();
}
catch (PDOException $e) {
die('Ошибка!!!<br />: ' . $e->getMessage());
}
return $result;
}
public static function query($query)
{
self::$queryes++;
$time_before = array_sum(explode(chr(32), microtime()));
try {
$result = self::$link->query($query);
}
catch (PDOException $e) {
die('Ошибка!!!<br />: ' . $e->getMessage());
}
$tme_last = array_sum(explode(chr(32), microtime()));
self::$time_parse += $tme_last - $time_before;
self::$query_list[] = array('time' => round($tme_last - $time_before, 4),
'query' => $query,
'num' => self::$queryes);
return $result;
}
public static function queryes()
{
return self::$queryes;
}
public static function result($link, $column)
{
return $link->fetchColumn($column);
}
}
define('DB_DRVR', 'pdo_mysql'); // драйвер
static $database;
if (!$database) {
eval('class DB extends ' . DB_DRVR . ' {}');
$database = new DB();
}
?>
Я знал что есть спец тема "Вопрос - Ответ по RotorCMS", но всё-же решил создать отдельную тему. Читал про RotorCMS, говорят что у половины говнохостов не загружено расшитение pdo_mysql, так почему бы не переработать класс DB и сам проект под класс который описан выше? если нет поддержки pdo_mysql, то можно с лёгкостью заменить его классом с набором mysql функций!!!!!!
Думаю это было бы оч хорошей албтернативой!!! Как вы на это смотрите? Пожалуйста отпишитесь...
Changed: Максим (13.08.2010 / 15:59)