файл config
<?php
$config=array(
'sql_host' => 'localhost',
'sql_user' => 'root',
'sql_password' => '',
'sql_database' => 'wwwoopru',
'sql_charset' => 'cp1251',
);
?>
<?php
/**
класс для работы с базой данных mysql
**/
class SQL {
/**
статическая переменная для идентификации текущего соединения
**/
static $sql_id = 0;
protected $sql_host;
protected $sql_user;
protected $sql_password;
protected $sql_database;
public $sql_charset;
/**
конструктор класса
**/
function __construct() {
if( SQL::$sql_id == 0 ) {
require_once "../cfg/config.php";
$this->sql_params_set( $config );
SQL::$sql_id = mysql_connect( $this->sql_host, $this->sql_user, $this->sql_password );
$this->sql_database_create( $this->sql_database );
$this->sql_database_set( $this->sql_database );
$this->sql_charset_set( $this->sql_charset );
}
}
/**
деструктор класса
**/
function __destruct() {
if( SQL::$sql_id != 0 ){
mysql_close( SQL::$sql_id );
SQL::$sql_id = 0;
unset( $config );
}
}
/**
установка параметров из файла конфига
**/
function sql_params_set( $config ) {
$this->sql_host=$config["sql_host"];
$this->sql_user=$config["sql_user"];
$this->sql_password=$config["sql_password"];
$this->sql_database=$config["sql_database"];
$this->sql_charset=$config["sql_charset"];
}
/**
установка кодировки по умолчанию для текущего соединения
**/
function sql_charset_set( $sql_charset ) {
mysql_query("set names ".$sql_charset);
mysql_query("set @@character_set_client='".$sql_charset."'");
}
/**
выбор базы данных для текущего соединения
**/
function sql_database_set( $sql_database ) {
mysql_select_db( $sql_database );
}
/**
создание базы данных для текущего соединения
**/
function sql_database_create( $sql_database ) {
mysql_query( "create database if not exists '".$sql_database."'" );
}
/**
выборка из базы данных, возвращается двумерный ассоциативного массива
**/
function query_select( $sql_query ) {
/** в разработке…еще нужно возвращать двумерный ассоциативный массив **/
return array(
'result' => 0,
'error' => '',
'count => 0,'
);
/**
возвращает array(
'result' - неудачное / успешное выполнение запроса,
'error' - при неудачном выполнении возвращает код ошибки с описанием,
'count' - количество выбранных записей,
)
**/
}
/**
удаление из базы данных, возвращается число удаленных строк
**/
function query_delete( $sql_query ) {
/** в разработке… **/
return array(
'result' => 0,
'error' => '',
'count => 0,'
);
/**
возвращает array(
'result' - неудачное / успешное выполнение запроса,
'error' - при неудачном выполнении возвращает код ошибки с описанием,
'count' - количество удаленных записей,
)
**/
}
/**
изменение базы данных, возвращается число измененных строк
**/
function query_update( $sql_query ) {
/** в разработке… **/
return array(
'result' => 0,
'error' => '',
'count => 0,'
);
/**
возвращает array(
'result' - неудачное / успешное выполнение запроса,
'error' - при неудачном выполнении возвращает код ошибки с описанием,
'count' - количество измененных записей,
)
**/
}
/**
добавление в базу данных, возвращается число добавленных строк
**/
function query_insert( $sql_query ) {
if( !mysql_query( $sql_query ) ) {
/* неудачное выполнение запроса */
return array(
'result' => 0,
'error' => "MYSQL ERROR #".mysql_errno().": ".mysql_error(),
'count' => 0,
);
} else {
/* успешное выполнение запроса */
return array(
'result' => 1,
'error' => "",
'count' => 1,
);
/**
возвращает array(
'result' - неудачное / успешное выполнение запроса,
'error' - при неудачном выполнении возвращает код ошибки с описанием,
'count' - количество выполненых записей (на будущее, для мультизапросов),
)
**/
}
}
}
?>