我正在尝试更新我们在工作中使用的数据库库以使用参数化查询,以便对 SQL 注入不太了解的同事不必记住转义输入而只需传入参数数组(我米使用pg_query_params
)。
但是,我遇到了一个问题。数据库库的一个要求是它记录每个执行的查询,一旦参数被填写,我无法找到获取参数化查询文本的方法。有没有办法做到这一点(除了为参数化查询滚动我自己的函数之外,我猜)?
换句话说,当执行参数化查询时
pg_query_params('SELECT id FROM table WHERE foo = $1', array('bar'));
我想得到类似的东西
SELECT id FROM table WHERE foo = 'bar'