0

我想在我的网站上创建一个搜索功能,它将在字符串中返回字符串。例如:如果 SQL 数据库中有一条记录,其中列的值为“我的名字是哈利波特”,那么用户可以搜索“哈利 P”或“奥特”或“我的名字”,记录就会出现在搜索结果中。

4

4 回答 4

2

在你的 SQL 中使用它:

SELECT * FROM `table` WHERE title LIKE '%$search_word%'
于 2012-06-23T19:30:33.757 回答
1

使用LIKE功能。

SELECT * FROM myTable WHERE myName LIKE '%Harry P%'

SELECT * FROM myTable WHERE myName LIKE '%ott%'

SELECT * FROM myTable WHERE myName LIKE '%My Name%'

在这里,我假设myName您的数据库中的字段名称myTable是表名。

在 PHP 中,您的查询应该是

SELECT * FROM myTable WHERE myName LIKE '%$yourWord%'
于 2012-06-23T19:30:13.807 回答
1

如果表 / 会很小,那么带有的语句LIKE '%word%'就可以了。

尽管您可能很想使用 MyISAM 表来使用全文索引,但这在 InnoDB 中也是可能的。以这种方式实现它会有点困难,但它会将 MyISAM 提供的高性能文本搜索与 InnoDB 的所有优点(事务、行级锁定等)结合起来。

于 2012-06-23T19:33:54.520 回答
1
select * from your_table
where instr(some_column, 'string_to_search') > 0
于 2012-06-23T19:35:28.670 回答