Я пытаюсь обновить библиотеку базы данных, которую мы используем на работе, чтобы использовать параметризованные запросы, чтобы коллегам, которые не очень хорошо разбираются в SQL-инъекции, не пришлось бы забывать избегать ввода и просто вместо этого передавать массив параметров (Я использую pg_query_params
).
Однако я столкнулся с проблемой. Одним из требований библиотеки базы данных является то, что она регистрирует каждый выполняемый запрос, и я не могу найти способ получить текст параметризованного запроса после того, как параметры были заполнены. Есть ли способ сделать это ( я полагаю, кроме собственной функции для параметризованных запросов)?
Другими словами, при выполнении параметризованного запроса, например
pg_query_params('SELECT id FROM table WHERE foo = $1', array('bar'));
Я хочу получить что-то вроде
SELECT id FROM table WHERE foo = 'bar'