繁体   English   中英

PHP Symfony2学说PDO_PGSQL绑定变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM