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

时间:2014-02-15 05:25:21

标签: php mysql select

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

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

输入可能看起来像“如何编程13”。

我这样选择:

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

返回行。但我希望能够搜索“如何程序”或“如何13”。如何搜索并返回结果?

由于

编辑:

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

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

4 个答案:

答案 0 :(得分:2)

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

您可以使用REGEXP

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

您有类似的问题:MySQL SELECT LIKE or REGEXP to match multiple words in one record

答案 1 :(得分:1)

 SELECT * from lists where name REGEXP 'how|program|13'

答案 2 :(得分:0)

OR

的简单重复条件
SELECT * FROM lists 
WHERE name LIKE '%how programme%'
  OR  name LIKE '%how to 13%'

答案 3 :(得分:-1)

此查询会搜索包含programme AND how

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