在PHP中,当使用带有参数化查询的PDO访问MySQL数据库时,如何检查最终查询(在替换所有令牌之后)?
有没有办法检查数据库真正执行的是什么?
为了调试我的代码,我希望看到执行的显式sql查询.
我使用创建查询createQueryBuilder
,并且我实现的最明确的事情是使用以下原始查询:
$qb->getQuery()->getSQL();
Run Code Online (Sandbox Code Playgroud)
问题是,而不是参数,我看到持有人(?
).我在网上找到了一些解决方案,但是它们分别用于1.3和1.4,没有用于Symfony-2.
想法?谢谢!
我更喜欢了解 Doctrine,并想分析由我的 DQL 或 find 方法构建的 SQL。
是否可以在 PHP 中打印出该语句?
另一个问题是:编写自己的 DQL 是不是更高效,尤其是一些连接,或者当我使用 find 方法时,学说是否足够聪明以匹配这些?