php - 我可以在学说 ORM 中使用准备语句吗

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

最佳答案

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

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

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

关于php - 我可以在学说 ORM 中使用准备语句吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11823980/

相关文章:

php - 通过从mysql中的字符串中删除第一个字符来找到总和

php - 无法从 $_post 获取值

php - 如何对动态业务对象/数据进行版本控制?

php - Symfony HTTP 客户端获取原始请求信息

javascript - 使用ajax时获取 undefined index 。

php - 如何在没有特殊字段的情况下在 Symfony 中加载实体

Symfony 在错误文件中获取用户登录

json - 反序列化与 Symfony Serializer Component 有关系的实体

doctrine-orm - Zend Framework 2 Doctrine 快速入门

unit-testing - 使用 PHPUnit 进行测试时如何设置 Doctrine2 夹具?