Как выполнить отслеживание базы данных для портала, созданного с помощью codeigniter Framework - PullRequest
0 голосов
/ 10 мая 2019

Необходимо выполнить отслеживание базы данных [БД] для моего портала, который построен на платформе CodeIgniter.

Поскольку мой портал построен на платформе codeigniter, все запросы к базе данных [insert, update, delete, select] будут выполняться с помощью класса построителя запросов.

$this->db->insert('mytable', $object);
$this->db->update('mytable');
...

Для отслеживания БД я создал таблицу с именем dblogs, где все запросы, соответствующие каждому действию [insert, update, select, ...], которое пользователь выполняет на портале, будут вставляться вместе с идентификатором сеанса пользователя.

dblogs структура таблицы , я предпочитаю:

TransactionID
UserID [user session id]
ProjectID
Action [insert, update, ...]
Module [in which module the action is performed like login, email, ...]
Query [complete query]
Query Status [whether the query executed successfully or not]
DateTime
IPAddress
MVC [model - controller - view file names where the action is performed]

система / база данных / DB_query_builder.php

public function insert($table = '', $set = NULL, $escape = NULL)
{
    if ($set !== NULL)
    {
        $this->set($set, '', $escape);
    }

    if ($this->_validate_insert($table) === FALSE)
    {
        return FALSE;
    }

    $sql = $this->_insert(
        $this->protect_identifiers(
            $this->qb_from[0], TRUE, $escape, FALSE
        ),
        array_keys($this->qb_set),
        array_values($this->qb_set)
    );

    $this->_reset_write();
    $ins = $this->query($sql);
    //INSERT INTO DBLOGS 
    $this->query("INSERT INTO `dblogs` (`user_id`,`proj_id`,`action`,`query`,`query_status`,`date_time`,`ipaddress`,`mvc`) 
    VALUES ('".$_SESSION['user_id']."', '2019-05-08 00:00:00', '1','test')");

    return $ins;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...