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