我可以在学说ORM中使用prepare语句吗?

时间:2012-08-06 07:18:58

标签: php symfony doctrine-orm

我正在使用此代码

public function addTasks()
    {
        $stmt = $this->getEntityManager()
                    ->getConnection()
                    ->prepare('INSERT into newTasks (tasks_id, Profile_id)
                                        SELECT task.id, 3 as Profile_id
                                        FROM ptasks where ptasks.isActive = :mid');


        $stmt ->setParameter('mid',1);
        //$stmt->bindValue('foobar ', 1);
        $stmt->execute();
        return true;

    }

现在setParametrbindValue无效。但是,如果我只是放isActive=1,那么它可以正常工作

1 个答案:

答案 0 :(得分:3)

您需要在参数前添加冒号,如下所示:

$stmt->setParameter(':mid',1);

这是PDO连接驱动程序实现与不需要冒号的Doctrine setParameter函数之间的区别。