function c() { global $conn; if (self::$conn) { return self::$conn; } self::$conn = DbSimple_Generic::connect(sprintf("mysql://%s:%s@%s/%s", Z::config("db_user"), Z::config("db_password"), Z::config("db_host"), Z::config("db_database"))); /* Set error handler */ if (!function_exists("databaseErrorHandler")) { function databaseErrorHandler($message, $info) { // Если использовалась @, ничего не делать. if (!error_reporting()) { return; } // Выводим подробную информацию об ошибке. var_dump($message); var_dump($info); // debug($message); // debug($info); exit; } } self::$conn->setErrorHandler('databaseErrorHandler'); /*$conn->setLogger('myLogger'); function myLogger($db, $sql) { // Находим контекст вызова этого запроса. // $caller = $db->findLibraryCaller(); // $tip = "at ".@$caller['file'].' line '.@$caller['line']; // Печатаем запрос (конечно, Debug_HackerConsole лучше). // echo "<xmp title=\"$tip\">"; // print_r($sql); // echo "</xmp>"; debug($sql); } */ self::$conn->query("SET names utf8"); }