diff --git a/chat.php b/chat.php index 3292b5f..e401caa 100644 --- a/chat.php +++ b/chat.php @@ -15,28 +15,25 @@ include_once "config.php"; $msg = filter_input(INPUT_POST,'msg'); $uid = $_SESSION['uid']; if ($msg) { - try { - db::c()->query('INSERT INTO `chat` (`uid`, `msg`) VALUES (?i, "?s")', $uid, $msg); - } catch (\Krugozor\Database\Mysql\Exception $e) { - echo "DB Error: ". $e->getMessage() . PHP_EOL; - echo "File: " . $e->getFile() . "[".$e->getLine()."]". PHP_EOL; - } + mysql_error_handler(db::c()->query('INSERT INTO `chat` (`uid`, `msg`) VALUES (?i, "?s")', $uid, $msg)); } -function show_messages() -{ - try { - $chat = db::c()->query(' - SELECT - `msg`, - `msgdate`, - (SELECT `login` FROM `users` WHERE `users`.`id` = `uid`) AS `from`, - `type` - FROM `chat` ORDER BY `id` LIMIT 50'); - } catch (\Krugozor\Database\Mysql\Exception $e) { - echo "DB Error: ". $e->getMessage() . PHP_EOL; - echo "File: " . $e->getFile() . " (".$e->getLine().")". PHP_EOL; - } +function show_messages(){ + mysql_error_handler($chat = db::c()->query(' + SELECT msg, msgdate, (SELECT login FROM users WHERE users.id = uid) AS from, type + FROM `chat` ORDER BY `id` LIMIT 50')); +// try { +// $chat = db::c()->query(' +// SELECT +// `msg`, +// `msgdate`, +// (SELECT `login` FROM `users` WHERE `users`.`id` = `uid`) AS `from`, +// `type` +// FROM `chat` ORDER BY `id` LIMIT 50'); +// } catch (\Krugozor\Database\Mysql\Exception $e) { +// echo "DB Error: ". $e->getMessage() . PHP_EOL; +// echo "File: " . $e->getFile() . " (".$e->getLine().")". PHP_EOL; +// } while ($message = $chat->fetch_assoc()) { $d = new DateTime($message['msgdate']); diff --git a/config.php b/config.php index c09f5e3..f4bc06f 100644 --- a/config.php +++ b/config.php @@ -10,7 +10,7 @@ error_reporting(E_ALL); define("GAMEDOMAIN","combats.loc"); /* - * Запрещвем кэшировать + * Запрещаем кэшировать */ header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); header("Cache-Control: post-check=0, pre-check=0", false); @@ -31,6 +31,22 @@ spl_autoload_register(function ($class_name) { include_once 'classes/' . $class_name . '.php'; }); +/** + * Выбрасыватель ошибок для запросов в базу + */ +function mysql_error_handler($query) { + try { + $query; + } catch (\Krugozor\Database\Mysql\Exception $e) { + echo << + DB Error: {$e->getMessage()}
+ File: {$e->getFile()} ({$e->getLine()}) + +MYSQL_ERROR; + } +} + /* === Для нападалок. Сперва комнаты в которых нельзя напасть, потом персонаж на которого нельзя напасть. === */ $unkilable = [ 'rooms' => [620, 621, 1051, 1052],