【发布时间】:2015-03-21 05:35:18
【问题描述】:
我有一个按内容搜索帖子的查询。我仍在使用 mysql 5.5 和 innoDB,所以RLIKE 似乎是唯一的选择之一:
$sql = "SELECT title,content FROM table1 WHERE content RLIKE ?";
$i = 1;
$users = $dbh->prepare($sql);
$users->bindValue($i++, $purifier->purify($_GET['content']), PDO::PARAM_STR);
$users->execute();
但我发现当我输入星号或问号作为参数值(例如 www.site.com?content=*)时,我得到了
SQLSTATE[42000]: Syntax error or access violation:
1139 Got error 'repetition-operator operand invalid' from regexp.
如何避免此错误? * 和 ? 是仅有的两个会导致此错误的特殊字符吗?
【问题讨论】: