Размер файла: 3.71Kb
<?php
/*
-------------------------------
Класс для работы с базой данных
-------------------------------
*/
CLASS DB
{
//Объект PDO
PUBLIC STATIC $DB = NULL;
PUBLIC STATIC $ST = NULL;
//SQL запрос
PUBLIC STATIC $QUERY = '';
/*
--------------------------------------
Подключение драйвера PDO к базе данных
--------------------------------------
*/
PUBLIC STATIC FUNCTION CONNECT($status = 1)
{
IF (!SELF::$DB) {
TRY {
SELF::$DB = NEW PDO(
'mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8',
DB_USER,
DB_PASSWORD,
ARRAY(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")
);
SELF::$DB->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
} CATCH (PDOException $e) {
IF ($status == 1){
ECHO "Нет подключения к базе данных<br /><br />";
ECHO "Параметры ошибки:<br /> " . $e->getMessage();
ECHO "<hr>";
}
}
}
RETURN SELF::$DB;
}
/*
--------------------------------------
Получение 1 строки из таблицы
--------------------------------------
*/
PUBLIC STATIC FUNCTION GET_STRING($query, $param = ARRAY())
{
IF (SELF::CONNECT(0)){
SELF::$ST = SELF::CONNECT()->PREPARE($query);
SELF::$ST->EXECUTE((ARRAY) $param);
RETURN SELF::$ST->FETCH(PDO::FETCH_ASSOC);
}
}
/*
--------------------------------------
Получение всех строк из таблицы
--------------------------------------
*/
PUBLIC STATIC FUNCTION GET_STRING_ALL($query, $param = ARRAY())
{
IF (SELF::CONNECT(0)){
SELF::$ST = SELF::CONNECT()->PREPARE($query);
SELF::$ST->EXECUTE((ARRAY) $param);
RETURN SELF::$ST;
}
}
/*
------------------------------
Получение 1 столбца из таблицы
------------------------------
*/
PUBLIC STATIC FUNCTION GET_COLUMN($query, $param = ARRAY())
{
IF (SELF::CONNECT(0)){
SELF::$ST = SELF::CONNECT()->PREPARE($query);
SELF::$ST->EXECUTE((ARRAY) $param);
RETURN SELF::$ST->FETCHCOLUMN();
}
}
/*
---------------------------
Добавление строки в таблицу
---------------------------
*/
PUBLIC STATIC FUNCTION GET_ADD($query, $param = ARRAY())
{
IF (SELF::CONNECT(0)){
SELF::$ST = SELF::CONNECT()->PREPARE($query);
RETURN (SELF::$ST->EXECUTE((ARRAY) $param)) ? SELF::CONNECT()->LASTINSERTID() : 0;
}
}
/*
-----------------------------------
Изменение/удаление строки в таблице
-----------------------------------
*/
PUBLIC STATIC FUNCTION GET_SET($query, $param = ARRAY())
{
IF (SELF::CONNECT(0)){
SELF::$ST = SELF::CONNECT()->PREPARE($query);
RETURN SELF::$ST->EXECUTE((ARRAY) $param);
}
}
/*
---------------------------------------------
Выполнение запроса в базу данных из SQL файла
---------------------------------------------
*/
PUBLIC STATIC FUNCTION GET_SQL_FILE($path_file)
{
$file = FILE_GET_CONTENTS($path_file);
$data = EXPLODE(';' , $file);
IF ($file){
FOREACH ($data AS $el){
DB::GET_ADD($el);
}
RETURN 1;
}ELSE{
RETURN 0;
}
}
}
?>