通过使用PHP5以及用于执行MySQL查询的MySQLi类,如何将使用MySQLi::query处理的每个查询记录到当前连接的数据库的新表中?
是否可以像在Java中那样对函数进行一些扩展?
发布于 2012-12-14 05:18:33
如果您使用支持触发器的mysql版本。只需创建一个触发器,这样您就不必使用不必要的业务逻辑来污染代码
http://dev.mysql.com/doc/refman/5.0/en/triggers.html
从MySQL 5.0.2开始包含对触发器的支持。因此,当您部署您的应用程序时,在创建表的同时创建触发器。
发布于 2012-12-14 05:28:02
为日志定义一个表
create table querylog (
tm timestamp,
query varchar(4096));在执行查询时,将查询字符串记录在此表中
insert into querylog (tm, query)
values(now(), '$query_string')您可以在每次查询时显式执行此操作,或者在函数my_query中执行此操作,您可以定义和调用instead而不是mysqli_query,或者像@E_p建议的那样,在触发器中执行此操作。
https://stackoverflow.com/questions/13868459
复制相似问题