我正在尝试为网站构建审核日志记录。我想要做的是允许现有的MySQL查询保持不变(如果可能)到PHP函数,该函数解析数据并将其存储在审计日志表中。
例如,如果我有查询
UPDATE members SET name='Bob', age='40' WHERE memberId=123
然后我希望能够提取表名members
,rowId 123
以及两个列/数据(如同键/值)对name:Bob
和{ {1}}。
如果可能,我想要一个也允许替代查询格式的解决方案:
age:40
然后这些将进入审计日志表,如下所示:
UPDATE members (name,age) VALUES ('Bob','40') WHERE memberId=123
显然,要填充此表,您可以看到我需要提取值的原因。理想情况下,我想从现有的MySQL查询字符串中执行此操作,传递到我的PHP函数(处理现有代码),但如果我需要实现新的PHP函数,我愿意接受建议。
正则表达式似乎既复杂又痛苦,因为我必须为每个表的每个列名称格式化它。那里有解决这个问题的解决方案吗?