0

我正在编写我的第一个论坛并希望有一个搜索字段。

我想知道我应该使用什么函数来搜索数据库中的特定线程。

我应该使用

WHERE title LIKE '%keyword%' OR body LIKE '%keyword%'

这是线程内容的通用搜索算法吗?

4

2 回答 2

2

需要搜索多个字段,这是非常标准的。

你可能想看看

全文检索功能

使用 MySQL 全文搜索

于 2009-12-12T14:01:57.157 回答
1

这是线程内容的通用搜索算法吗?

不存在这样的。
您应该选择您需要的和最适合您要求的一种。

但您需要考虑的一些事项是:

  • 搜索标题和正文(更容易找到,但会有很多线程会很慢)。
  • 如果正文可以包含格式化文本(可能是 HTML),它也将包含在搜索中。
  • 使用 SQL Like 是 SQL 注入的第一步。小心地转义所有输入。
  • 使用 LIKE 进行搜索在所有 SQL 数据库中都是非常缓慢的操作。您的用户最好使用全文搜索或使用第四个工具索引数据。
于 2009-12-12T14:07:20.127 回答