Работает обработка ссылок на таблицы с численностью
This commit is contained in:
@ -9,6 +9,8 @@ use PDO;
|
||||
final class Database
|
||||
{
|
||||
private PDO $pdo;
|
||||
public const FILE_ADD_RECORDING ='not-recorded-in-db.yaml';
|
||||
private const ERR_NO_CONNECT = "HY000";
|
||||
private static $logfile = 'log/database.log';
|
||||
private DatabaseConfig $databaseConfig;
|
||||
private DatabaseLogger $logger;
|
||||
@ -48,13 +50,11 @@ final class Database
|
||||
}
|
||||
/**
|
||||
* Выборка данных из базы
|
||||
* @param string $sql
|
||||
* SQL-запрос
|
||||
* @param array $params
|
||||
* Параметры запроса
|
||||
* @param string $sql SQL-запрос
|
||||
* @param array $params Параметры запроса
|
||||
* @return array
|
||||
*/
|
||||
public function select(string $sql, array $params = []) : array
|
||||
public function select(string $sql, array $params = []): array
|
||||
{
|
||||
try {
|
||||
$stmt = $this->pdo->prepare($sql);
|
||||
@ -74,13 +74,11 @@ final class Database
|
||||
}
|
||||
/**
|
||||
* Добавление данных в базу
|
||||
* @param string $sql
|
||||
* SQL-запрос
|
||||
* @param array $params
|
||||
* Параметры запроса
|
||||
* @param string $sql SQL-запрос
|
||||
* @param array $params Параметры запроса
|
||||
* @return void
|
||||
*/
|
||||
public function insert(string $sql, array $params)
|
||||
public function insert(string $sql, array $params): void
|
||||
{
|
||||
try {
|
||||
$stmt = $this->pdo->prepare($sql);
|
||||
@ -100,21 +98,23 @@ final class Database
|
||||
$message = "Ошибка запроса:" . $e->getMessage();
|
||||
$this->logger->log($message);
|
||||
// При ошибке запроса сохраняем валидные данные в yaml-файл
|
||||
if ($e->getCode() === "HY000") {
|
||||
if ($e->getCode() === self::ERR_NO_CONNECT) {
|
||||
$yaml = Yaml::dump($params);
|
||||
file_put_contents('not-recorded-in-db.yaml', $yaml, FILE_APPEND);
|
||||
file_put_contents(
|
||||
self::FILE_ADD_RECORDING,
|
||||
$yaml,
|
||||
FILE_APPEND
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Обновление данных в базе
|
||||
* @param string $sql
|
||||
* SQL-запрос
|
||||
* @param array $params
|
||||
* Параметры запроса
|
||||
* @param string $sql SQL-запрос
|
||||
* @param array $params Параметры запроса
|
||||
* @return void
|
||||
*/
|
||||
public function update(string $sql, array $params)
|
||||
public function update(string $sql, array $params): void
|
||||
{
|
||||
try {
|
||||
$stmt = $this->pdo->prepare($sql);
|
||||
|
Reference in New Issue
Block a user