我准备了一个包含多个条目的电子表格,每行条目提供两列信息。一个是产品名称,另一个是产品的价格。示例如下:
Product (Column A) Price (Column B)
1. Watch $100
2. Mousepad $50
3. Notebook $1000
我正在尝试使用 PHP 和 MYSQL 创建一个基于 Web 的数据库。基本的搜索功能是当我在搜索框中输入一个句子时,例如“我有一个 watch 和一个笔记本”,我的数据库中与句子中的某些单词匹配的那些条目将被给出(即第 1 行“ watch ” ”和第 3 行“笔记本”)。 MySQL 是否支持这种搜索,我该如何编写查询来实现这种搜索?
最佳答案
编写一个 SQL 查询来做到这一点并不难。您只需要编写一个 WHERE
子句来搜索字符串中的列值。 MySQL 有一个 LOCATE()
可用于搜索子字符串的函数。在您的示例中,您可能有:
SELECT *
FROM myTable
WHERE LOCATE(product, 'I have a watch and a notebook.') <> 0;
请务必注意,正如您将在链接中看到的那样,如果未找到子字符串,locate 将返回 0。
这是一个 SQL Fiddle示例。
关于php - 查找输入字符串中包含列值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30898247/