我正在使用此代码
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;
}
现在setParametr
和bindValue
无效。但是,如果我只是放isActive=1
,那么它可以正常工作
答案 0 :(得分:3)
您需要在参数前添加冒号,如下所示:
$stmt->setParameter(':mid',1);
这是PDO连接驱动程序实现与不需要冒号的Doctrine setParameter
函数之间的区别。