gpt4 book ai didi

php - Doctrine 查询语法错误

转载 作者:行者123 更新时间:2023-11-29 05:30:22 25 4
gpt4 key购买 nike

我在数据库中有一个值,例如 stackover/'!@#/\;"""'.;\';'./,其中包含所有特殊字符。现在我的问题是如何构建如下查询:

$linkName= // getting from db
$sql_sm="SELECT d FROM MyBundle:MyTable d WHERE d.name = '$linkName'";

我收到一个错误:

[Syntax Error] line 0, col 115: Error: Expected end of string, got '\'

最佳答案

使用 placeholder support of doctrine orm :

$query = $em->createQuery('SELECT d FROM MyBundle:MyTable d WHERE d.name = ?1');
$query->setParameter(1, $linkName);

$users = $query->getResult();

这样您就可以防止像您这样的错误,更重要的是:SQL 注入(inject)。

此方法的另一个相关点是 DQL 字符串保持不变。每次更改 DQL 时,query cacheresult cache key 更改,这基本上意味着您会损失巨大的性能。

关于php - Doctrine 查询语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15428075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com