如何在Doctrine中逃避单引号

时间:2012-11-14 10:11:36

标签: mysql sql doctrine-orm

这是关于学说的一个非常基本的问题。单引号是如何逃脱的?

例如,标题需要转义,因为它包含单引号:

    $query = $this->entityManager->
            createQuery("SELECT p  from \RTH\Entity\Prod p
                         JOIN p.prodns ps
                         JOIN ps.events e
                         WHERE p.title = '" . $title . "'");

在Doctrine 2中有没有特定的方法呢?

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:0)

Prepared statements 确实是要走的路,但如果你不能升级你的代码,你可以使用 Doctrine\DBAL\Connection 对象的 quote 方法。

根据您的代码,我认为您可以通过以下方式访问连接对象: $this->getConnection()

见:https://www.doctrine-project.org/projects/doctrine-dbal/en/2.12/reference/data-retrieval-and-manipulation.html#quote