2010-02-11 54 views
43

有没有办法检索用于生成PDO Prepared语句对象的查询?从PDO准备的语句获得查询返回

+0

可能的重复[从PDO准备语句获取原始SQL查询字符串](http://stackoverflow.com/questions/210564/getting-raw-sql-query-string-from-pdo-prepared-statements) – FFirmenich 2017-04-24 12:21:40

回答

31
+0

Bingo :http://www.php.net/manual/en/class.pdostatement.php#92046 – Strae 2010-02-11 10:55:25

+38

每当我使用它,它仍然显示params作为占位符。反正有没有带参数设置的字符串?数据库得到它的方式? – 2010-10-25 13:35:51

+3

你必须检查你的数据库日志。对于MySQL,请查看此页面:http://dev.mysql.com/doc/refman/5.0/en/query-log.html – Arkh 2010-10-26 12:49:05

9

如果你不反对延长默认\ PDO和\ PDOStatement对象的对象,你可以考虑在寻找:

github.com/noahheck/E_PDOStatement

此扩展PDO可以让你看到一个完整的查询语句作为可能在数据库级别执行的示例。它使用正则表达式来插入你的PDO语句的绑定参数。

通过扩展默认\ PDOStatement定义,E_PDOStatement可以将此增强功能提供给默认功能,而无需修改您的正常工作流程。

声明:我创建了此扩展。

我只是希望这对别人有帮助。

0

自我推销:​​ 您可以使用调试方法输出期望的查询。我最近一直在更新它。