Лучше записывать ошибки в лог-файл. На рабочей версии ошибок не должно быть вовсе, т.е. не должно быть лог-файла. Появился лог-файл - значит дело плохо.
//---------------- Процедура подключения к базе данных -----------------------//
function dbconnect() {
// Используем статическую переменную для сохранения значений внутри функции
static $database;
if (!isset($database)) {
// Соединение по IP самое быстрое
// Сразу задаём кодировку соединения
$database = new PDO('mysql:host=127.0.0.1;dbname=robotbattle', "marvin", "god", array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
// Устанавливаем уровень показа ошибок базы
$database->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
return $database;
}
//----------------------------------------------------------------------------//
//--------------------- Функция выполнения запросов --------------------------//
function sql_query($query) {
global $errors;
try {
$return = dbconnect()->query($query);
}
catch (PDOException $e) {
$error = $e->getMessage();
writelog('sql_error', date("y.m.d H:m:s")."\t".$error);
$errors .= $error;
return false;
}
return $return;
}
//----------------------------------------------------------------------------//
//------------------------ Процедура записи в лог фаил -----------------------//
function writelog($typelog, $log_text) {
file_put_contents('logs/'.$typelog.'.txt', "$log_text\r\n", FILE_APPEND | LOCK_EX);
}
//----------------------------------------------------------------------------//