我偶然发现这个问题 https://stackoverflow.com/questions/210564/pdo-prepared-statements从两年前开始。
在准备好的语句上调用 PDOStatement::execute() 时,有没有办法让原始 SQL 字符串执行?出于调试目的,这将非常有用。
获胜的答案指出
[...]如果您愿意,您也可以获得您想要的
设置PDO属性
PDO::ATTR_EMULATE_PREPARES。在这个
模式下,PDO 将参数插入
SQL 查询并发送整个
当你执行()时查询。
但它没有提到如何获取结果查询字符串。我知道这在性能方面是一个坏主意,但这在调试模式下不会打扰我。有人知道怎么做这个吗?
PS如果有什么办法我可以重新打开/引起人们对原来两年前的话题的关注,而不是打开一个新的话题,请告诉我。
我相信这一点在本问题中引用的原始问题中提到过。然而
实际上应该有一种方法来检索这些数据。
PDOStatement::debugDumpParams
然而,它目前并没有按照记录工作。这里有一个错误报告和补丁提交http://bugs.php.net/bug.php?id=52384 http://bugs.php.net/bug.php?id=52384如果有人有兴趣对其进行投票。在它修复之前,您似乎只能使用查询日志记录或使用 PDO::ATTR_STATMENT_CLASS 属性设置自定义语句类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)