我有一个像这样的查询
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();
答案 0 :(得分:0)
$result = $q->fetchAll();
我回溯了我的步骤,并将结果分配给变量,一切正常!