【发布时间】:2019-11-19 11:12:42
【问题描述】:
我正在尝试从如下所示的查询字符串中获取数据:
http://127.0.0.1:8000/product/controller/php?ids[]=[product_code]1INSAZE
如果我这样做:
$ids = $request->query->get('ids', null);
and dump it I get something like this :
array:1 [▼ 0 => "[product_code]1INSAZE" ] ]
如果我dump($ids[0]) 我得到:
"[product_code]1INSAZE"
我需要该字符串才能执行此操作:
$ids = $ids[0];
$result = $this->createQueryBuilder('k')
->andWhere("k.product_code = $ids")
->getQuery()
->getResult();
return $result;
我收到此错误:
[Syntax Error] line 0, col 72: Error: Expected Literal, got '['
它与那个 [product_code] 有关吗?如果是,我该如何摆脱它并执行查询?
【问题讨论】:
-
你需要
[product_code]1INSAZE整体吗? -
yes 需要在查询字符串中,但是运行代码时出现语法错误。
-
我解决了 str_replace() php 方法的问题,我删除了这个词。
-
那是因为你在值周围缺少引号,例如
->andWhere("k.product_code = '$ids'"),但更好的办法是绑定@UrsolSolutions 回答的那些参数。 -
Rikudou_Sennin 谢谢这就是我的问题的解决方案
标签: php mysql sql symfony symfony4