如何在REGEXP中使用多个关键字?

时间:2013-12-30 14:05:46

标签: php mysql database pdo

我有一个像这样的查询

SELECT name FROM users WHERE interests REGEXP :interests

由于兴趣各不相同,我有一系列提交的兴趣,我正在冒险进入数据库,如golf|soccer|tennis。然后我使用该数组替换:兴趣但是MYSQL引发了一个错误:

  

SQLSTATE [HY000]:常规错误:属性queryString是只读的

理想情况下,查询应为:

SELECT name FROM users WHERE interests REGEXP golf|tennis|chess

我正在使用PDO,我可以使用哪种解决方法?

编辑:这是其他php代码,按要求

$keys = implode('|', array_filter($f3->get('keywords')));

//query the database, looking for matches in the users table.
$q = $db->prepare("SELECT * FROM users WHERE interests REGEXP :keywords");
$q->execute(array(':keywords' => $keys));
$q->setFetchMode(PDO::FETCH_ASSOC);
$q->fetchAll();

1 个答案:

答案 0 :(得分:0)

$result = $q->fetchAll();

我回溯了我的步骤,并将结果分配给变量,一切正常!