3

我正在使用此代码

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,那么它就可以了

4

1 回答 1

5

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

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

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

于 2012-08-06T09:25:27.567 回答