Лог для неудачного подключения к базе данных

333
04 июня 2017, 21:10

Я сделал лог, в который будет записываться ошибка подключения и сколько пользователей, получили эту ошибку.

Сделал вот так, пойдёт ли?

<?php
class DataBase {
    public static function connect ($host, $dbname, $user, $pass) {
        try {
            $db = new PDO('mysql:host='.$host.'; dbname='.$dbname.'; charset=utf8', $user, $pass);
        }
        catch (PDOException $e) {
            if(file_exists('error.txt')) {
                if($countError = file_get_contents('error.txt', NULL, NULL, 19, 2)) {
                    $countErrorFile = fopen('countError.txt', 'w');
                    fwrite($countErrorFile, $countError);
                    $readCountError = file_get_contents('countError.txt', NULL, NULL, 0, 2);
                    $fp = fopen('error.txt', 'w');
                    fwrite($fp, 'Count bad requests ');
                    fwrite($fp, $readCountError+1);
                    fwrite($fp, ' . Error = ');
                    fwrite($fp, $e->getMessage());
                }
                else {
                    $countError = file_get_contents('error.txt', NULL, NULL, 19, 2);
                    $fp = fopen('error.txt', 'w');
                }
            }
            else {
                $fp = fopen('error.txt', 'w');
                fwrite($fp, 'Count bad requests 1 ');
                fwrite($fp, $e->getMessage());
            }
            die('Не удалось подключиться к базе данных');
        }
        return $db;
    }
}

В файле, будет написано Count bad requests 9 . Error = SQLSTATE[HY000] [1045] Access denied for user 'faq'@'localhost' (using password: YES)

Цифра 9 означает, что 9 пользователей, не смогли подключится к базе, только я сделал счётчик до 100, в принципе, мне этого хватает, чтобы принять меры

READ ALSO
Узнать передавалось ли поле в JSON (VK)

Узнать передавалось ли поле в JSON (VK)

Есть такой JSON (VK Callback):

335
Проблема с форматированием html

Проблема с форматированием html

Столкнулся с такой проблемойВ ide код выглядит нормально (рис

310
Имеет ли смысл использовать flock() при чтении?

Имеет ли смысл использовать flock() при чтении?

Стоит ли использовать flock() при чтении, например, с /dev/urandom?

198
Значение строки : if(!(i%j)) break;

Значение строки : if(!(i%j)) break;

Затруднения с данной строкой if(!(i%j)) break;Нашел то, что данное выражение равно (i%j)==0

238