Автор: SibWeb Group
/** Создаем функцию **/
if(!function_exists('db_error')) {
function db_error($error, $error_num, $query = '') {
if($query) $query=preg_replace("/([0-9a-f]){32}/","********************************",$query);
$query=htmlspecialchars($query, ENT_QUOTES, 'ISO-8859-1');
$error=htmlspecialchars($error, ENT_QUOTES, 'ISO-8859-1');
$trace=debug_backtrace();
$level=0;
if($trace[1]['function']=="query") $level=1;
if($trace[2]['function']=="super_query" ) $level=2;
$trace[$level]['file']=str_replace(DIR_HOME,"",$trace[$level]['file']);
return("<div><b>MySQL error</b> in file: <b>{$trace[$level]['file']}</b> at line <b>{$trace[$level]['line']}</b></div>
<div>Error Number: <b>{$error_num}</b></div>
<div>The Error returned was: <b>{$error}</b></div>
<div><b>SQL query:</b><br />{$query}</div>");
}
}
/** Создаем массив с данными БД **/
$mysql=array(
'host'=>'localhost', //сервер бд
'user'=>'root', //пользователь бд
'pass'=>'', //пароль пользователя бд
'name'=>'mysql', //имя базы пользователя бд
);
/** Создаем массив для подключение к БД **/
$db=new mysqli(
$mysql['host'],
$mysql['user'],
$mysql['pass'],
$mysql['name']
);
/** Проверяем на ошибка для БД (для этого и нужна была функция выше) **/
if($db->connect_error) {
echo(db_error($db->connect_error, $db->connect_errno));
die();
}
if(!$db->select_db($mysql['name']))
{
echo(db_error($db->connect_error, $db->connect_errno));
die();
}
/** Выставляем правильную кодировку для БД **/
$db->query("SET NAMES 'utf8'");
$db->query("SET CHARACTER SET 'utf8'");
$db->query("SET SESSION collation_connection = 'utf8_general_ci'");