串联错误 sql

Concatenation error sql

我有一个 SQL 语句是这样的 :

$queryBuilder0 = "
SELECT molecule.molecule, molecule.cas, molecule.statutvlep8h, molecule.statutvlepct,
       molecule.vlep8hMg, molecule.vlepctMg,molecule.unitevlep, IDENTITY(prelevement.laboratoire)
FROM AppBundle:Molecule molecule
INNER JOIN AppBundle:Prelevement prelevement
WHERE prelevement.molecule= molecule.id 
";

我想在 SQL 中连接到这个语句 LIKE。所以我写:

$queryBuilder0 = $queryBuilder0.'WHERE molecule.cas  LIKE '%$data->value%' ';

但是当我尝试这样做时出现了 symfony 错误:

$this->_em->createQuery($queryBuilder0)->getResult();

我该怎么办?

您在字符串和扩展查询中使用了单一语音标记。这完全取决于您对字符串定界的使用。

简单的解决方法是使用双语音标记

$queryBuilder0 =$queryBuilder0." WHERE molecule.cas LIKE '%$data->value%' ";

或者转义你的引号 $queryBuilder0 =$queryBuilder0.' WHERE molecule.cas LIKE \'%$data->value%\'';

或者只是附加 xtra 位而不重述变量;

$queryBuilder0 .= " WHERE molecule.cas LIKE '%$data->value%' ";