Файл: top_reit/rustats.su/system/classes/Core.class.php
Строк: 42
<?php
class Core{
private static $db;
private static $db_host = 'localhost';
private static $db_name = 'dario169_RUSTATS';
private static $db_user = 'dario169_RUSTATS';
private static $db_pass = '}B;MXwktGKs2';
public static $config;
/**
* Подключение к базе с помощью PDO
*/
private static function connect(){
try {
self::$db = new PDO('mysql:host='.self::$db_host.';dbname='.self::$db_name, self::$db_user, self::$db_pass);
self::$db -> exec('SET CHARACTER SET utf8');
self::$db -> exec('SET NAMES utf8');
return self::$db;
}
catch (PDOException $e) {
die('Connection failed: '.$e -> getMessage());
}
}
/**
* Инициализация базы, конфигурационных данных
*/
public static function run(){
self::$config = self::connect() -> query("SELECT * FROM `system`") -> fetch();
return self::connect();
}
/**
* Подготовленный запрос к базе данных
* Пример использования
* Core::query("DELETE FROM `$config[prefix]_users` WHERE `id` = ? && `login` = ?", array('1', 'admin'));
*/
public static function query($sql, $params = array()) {
$query = self::run() -> prepare($sql);
$query -> execute($params);
return $query;
}
/**
* Считает количество записей в таблице
* Пример использования
* $result = Core::count("SELECT COUNT(*) FROM `$config[prefix]_users` WHERE `id` = ?", array('1'));
*/
public static function count($sql, $params = array()){
$count = self::query($sql, $params) -> fetch(PDO::FETCH_NUM);
return $count[0];
}
/**
* Вывод сообщений, ошибок и редирект
*/
public static function redirect($url = '/', $msg = NULL){
if($msg != NULL) $_SESSION['message'] = $msg;
header("Location: $url");
exit();
}
}
?>