使用php5.5和mysql5.5,开发了一个带有PDO连接的应用程序。 现在作为日志表我想创建一个表(db_log):
id--------auto
query ----query
create----curent time
user------session-user
例如,将数据库中的每个插入,更新和删除操作存储到提及表中 有一些名为(tbl_temp)的表有一些coumns,用户来运行查询,如
(DELETE * FROM tbl_temp where id = 1) from the user (user1)
此处此查询的运行方式类似于(delete.php)的页面。 它应该将查询保存在 db_log
的表中id = 1
query = DELETE * FROM tbl_temp where id = 1
create = datetime
user = user1
这样我将如何能够记录用户在数据库上的每个动作并控制用户活动,
1 - 这里我需要将查询传递给每个页面中的 db_log ,否则我可以构建一个类 2-在网上有任何好的解决方案或示例可供学习。
答案 0 :(得分:0)
您可以在要记录的所有表上创建插入/更新/删除触发器。在该触发器中,您将数据复制到日志表中。
例如:
delimiter |
CREATE TRIGGER log_insert_tbl_temp BEFORE INSERT ON tbl_temp
FOR EACH ROW BEGIN
insert into db_log (table_name, action, id)
select 'tbl_temp', 'insert', NEW.id;
END
|
delimiter ;