我正在从mysql_*
调用更改为使用 PDO 调用,并且在开发新代码时无法弄清楚如何调试我的实际 SQL。
在mysql_*
调用下,我可以在 PHP 函数中编写一些 SQL,并且可以echo
使用实际的 SQL 来查看处理器正在使用什么。
我一直无法在 PDO 库中找到这样的野兽。debugDumpParams
看起来应该,但它不会吐回绑定语句。
我遇到的问题示例:
在我的第一次尝试中,我绑定了一个字符串,并在 SQL 语句中包含了引号,尽管绑定了字符串的 data_type - 我只是侥幸才尝试从语句中删除引号;调试会让我看到那里有重复的报价。
我将一些代码从一个项目复制到另一个项目,但不小心忘记更正数据库名称。自然地,SQL 失败了,因为其他数据库中不存在这些表。但是程序只是返回了正确的错误结果。在 PHP 日志或 MySQL 日志或任何地方,我都没有得到提示,表明该表在我正在寻找的地方不存在。
那么,其他人是如何调试 PDO SQL 调用的呢?我错过了什么?:)