[英]PHP Symfony2 Doctrine PDO_PGSQL binding variables
我的PHP代码中有以下查询:
select * from book where title ~* '\mkeyword'; /* \m matches only at the beginning of a word */
关键字是用户输入。 如何重写查询以使用绑定变量? 当我这样做时:
select * from book where title ~* :keyword;
接着:
$stmt->bindValue('keyword', "\m".$keyword);
在prepare语句之后,我在查询中得到\\\\ m,而该查询将无法按我想要的方式工作。
对于名为:keyword
的参数,还必须使用相同的名称-包含冒号,请参见PDOStatement::bindValue
示例部分
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindValue(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR);
所以你的情况应该是
$stmt->bindValue(':keyword', "\m" . $keyword);
另外,您也可以给PDOStatement::execute
一个数组
$stmt->execute(array(':keyword' => "\m" . $keyword));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.