我尝试了以下代码来获取包含搜索项的数据。
$data = mysql_query("
SELECT * FROM product_table
WHERE product_name LIKE '%$no3%'
ORDER BY autoid limit $no2,20"
) or die(mysql_error());
如果我尝试kids
它的作品,但尝试Kids Ski
对我不起作用。数据库中的条目为Manbi Kids Carve Ski Glove
。
答案 0 :(得分:1)
它不起作用,因为你的价值不像“儿童滑雪”,而是它分别包含两个单词..
你需要看看RLIKE(即正则表达式)
http://dev.mysql.com/doc/refman/5.0/en/regexp.html#operator_regexp
看看这个答案..这是类似的问题... https://stackoverflow.com/a/9425088/1114536
答案 1 :(得分:0)
你可以explode
你的病情并分别检查每个单词:
$no3 = explode(' ', $no3);
$w = array();
foreach ($no3 as $v) $w[] = "product_name LIKE '%$v%'";
$no3 = implode(' AND ', $w);
$data = mysql_query("
SELECT * FROM product_table
WHERE $no3
ORDER BY autoid limit $no2,20"
) or die(mysql_error());
如果您希望查询返回结果,如果匹配的任何匹配,而不是所有,请更改以下行:
$no3 = implode(' OR ', $w);