我有像“some-or-other”这样的关键词,在使用MySQL数据库进行搜索时需要考虑连字符。我目前正在使用全文本函数。
是否有一种方法可以转义连字符?
我知道其中一种选项是在myisam/ftdefs.h文件中注释掉#define HYPHEN_IS_DELIM
,但不幸的是我的主机不允许这样做。还有其他选择吗?
这是我现在的代码:
$search_input = $_GET['search_input'];
$keyword_safe = mysql_real_escape_string($search_input);
$keyword_safe_fix = "*'\"" . $keyword_safe . "\"'*";
$sql = "
SELECT *,
MATCH(coln1, coln2, coln3) AGAINST('$keyword_safe_fix') AS score
FROM table_name
WHERE MATCH(coln1, coln2, coln3) AGAINST('$keyword_safe_fix')
ORDER BY score DESC
";