我在mysql表中有一个名为“name”的列。
输入可能看起来像“如何编程13”。
我这样选择:
"SELECT * FROM lists WHERE name LIKE '%to programme 13%'"
返回行。但我希望能够搜索“如何程序”或“如何13”。如何搜索并返回结果?
由于
编辑:
所以基本上我必须在搜索之前拆分搜索字符串变量? 我有一个搜索字符串
$sw = $_GET['sw'];
"SELECT * FROM lists WHERE name LIKE '%".$sw."%'"
答案 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%'