不考虑问号DQL?

问题描述

| 我有以下DQL查询
$query = Doctrine_Query::create()
                ->select(\'p.genre\')
                ->from(\'Profile p\')
                ->where(\'sf_guard_user_id = ?\',11);
如果返回带有Syntax1的sql语法,则会得到:
SELECT p.id AS p__id,p.genre AS p__genre FROM profile p WHERE (p.sf_guard_user_id = ?)
这是不正常的。应该是11不?:
SELECT p.id AS p__id,p.genre AS p__genre FROM profile p WHERE (p.sf_guard_user_id = 11)
如果我写:
$query = Doctrine_Query::create()
                ->select(\'p.genre\')
                ->from(\'Profile p\')
                ->where(\'sf_guard_user_id = \' .  11);
sql语法正确。 通常,DQL应该自动执行此操作。为什么不发生?     

解决方法

        这是准备好的语句的工作方式。值将绑定在数据库服务器上,因此该学说不能显示查询的真实值。 如果您使用准备好的语句而不是实际值,则教义将显示一个问号。 看看这里的描述