我正在将 Sphinxsearch 集成到我的网站中,并重写我的旧代码以使用 Sphinx。我遇到的问题是 SphinxQL 中 MATCH 中的特殊字符。
示例:想要搜索 H&M
使用普通的 mysql 我得到了数千条记录,所以我很确定我的数据库中包含该单词的标题。
我不需要 MATCH 中的扩展查询语法。
$q = "h&m";
$spxq = "SELECT * FROM sphinx_index WHERE MATCH(:query) LIMIT 0,10";
$stmt = $DB->prepare($spxq);
$stmt->bindValue(':query', $q, PDO::PARAM_STR);
$stmt->execute();
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
这不会返回任何结果。
在此之后我尝试转义 $q 所以:
$q = "h\&m";
仍然无法正常工作。也尝试过双重转义,但仍然无法正常工作。
任何帮助都将不胜感激。