PDO bindParam不替换多个实例

时间:2017-05-20 15:04:55

标签: php pdo

我正在为我的网站构建搜索功能,并希望搜索文章的标题和内容。

查询看起来像SELECT id FROM articles WHERE title LIKE '%<user input>%' OR content LIKE '%<user input>%';

有没有办法用PDO实现这一目标?正如我所读到的,以下是不可能的。

$pdo = new PDO('pgsql:host=localhost;dbname=mysite', username, password);
$statement = $pdo->prepare('SELECT id FROM articles WHERE title LIKE :userinput OR content LIKE :userinput');
$search = '%' . $_REQUEST[searchterm] . '%';
$statement->bindParam(':userinput', $search);

1 个答案:

答案 0 :(得分:0)

我认为同时绑定多个变量没有问题,我没有测试过,但是这应该可行(只需将语法更改为使用冒号而不是空格):

$statement = $pdo->prepare('SELECT id FROM articles WHERE title LIKE :userinput OR content LIKE :userinput');
$search = '%' . $_REQUEST[searchterm] . '%';
$statement->bindParam(':userinput', $search);