【发布时间】:2014-02-06 06:08:49
【问题描述】:
所以我正在开发一个社交网站的搜索功能,它会搜索用户的帖子。有些用户喜欢用连字符代替空格,但我希望搜索功能在结果中同时查找连字符和空格。
例如,如果他们有一个名为“SQL-IS AWESOME”的帖子,我搜索“SQL IS AWESOME”,我还能找到那个帖子吗?我尝试使用 2 个 sql 查询,一个用于原始搜索查询,一个修改为将所有空格更改为连字符。
但如果我搜索“SQL IS-AWESOME”,它仍然找不到它。有没有更简单的方法?
我当前的代码:
$sql = "SELECT * FROM posts
WHERE (post_title='".$query."'
OR post_title LIKE '%".$query."'
OR post_title LIKE '%".$query."%'
OR post_title LIKE '".$query."%')
".$locquery."
".$cat."
ORDER BY date DESC
LIMIT 18";
【问题讨论】:
-
select 'sql is awesome' = replace('sql-is-awesome', '-', ' ') -
我会去掉连字符和空格,然后使用全文搜索dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
-
@MarcB 不确定我是否理解?那是PHP吗?还是sql?