php - 如何在字符串中搜索两个或多个单词?

标签 php mysql select

<分区>

嗯,我认为这将是一个简单的问题,但我找不到答案。

我在 mysql 表中有一个名为“name”的列。

输入可能类似于“如何编程 13”。

我是这样选择的:

"SELECT * FROM lists WHERE name LIKE '%to programme 13%'"

这将返回行。但我希望能够搜索“how programme”或“how to 13”。我如何搜索它并让它返回结果?

谢谢

编辑:

所以基本上我必须在搜索之前拆分搜索字符串变量? 我有一个搜索字符串

$sw = $_GET['sw'];
"SELECT * FROM lists WHERE name LIKE '%".$sw."%'"

最佳答案

SELECT * FROM lists WHERE name LIKE '%programme%' AND name LIKE '%how%' 

你可以使用正则表达式

 SELECT * FROM lists WHERE name REGEXP 'programme.+how'

这里你有一个类似的问题:MySQL SELECT LIKE or REGEXP to match multiple words in one record

关于php - 如何在字符串中搜索两个或多个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21793774/

相关文章:

php - Mysql文件上传错误?

php - 将数组[]从php发送到mysql

Mysql结果操作

php - 如何将字符串解析为php数组?

php - 如何从关系数据库codeigniter获取数据

mysql - 转换查询 : right joins to left joins

MySQL存储过程在不使用游标的情况下迭代多个值返回错误代码: 1172.结果由多于一行组成

mysql - 如何在 MYSQL 中选择具有 MAX(列值)和 PARTITION 的行?

mySQL 插入与选择

php - MySql 在一个单元格中存储对另一个表的多个引用并选择它?