SQL搜索字符串中的字符串

时间:2012-06-23 19:28:29

标签: php mysql sql

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

4 个答案:

答案 0 :(得分:2)

在SQL中使用它:

SELECT * FROM `table` WHERE title LIKE '%$search_word%'

答案 1 :(得分: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%'

答案 2 :(得分:1)

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

虽然您可能想要使用MyISAM表来使用全文索引this is possible in InnoDB too。以这种方式实现它会有点困难,但它将结合MyISAM提供的高性能文本搜索和InnoDB的所有优点(事务,行级锁定等)。

答案 3 :(得分:1)

select * from your_table
where instr(some_column, 'string_to_search') > 0