请帮助...我需要能够在我的数据库中搜索确切的单词..,我已经使用了不同的方法..
方法一
$param2 = "SELECT * from item WHERE prodname REGEXP '[[:<:]]($param)[[:>:]]'
order by CASE WHEN instr(prodname, '$param') = 0 then 1 else 0 end,
instr(prodname, '$param') ASC";`
这确实很好,但是当我尝试使用\
or搜索单词时,"
它会返回错误。我已经用过htmlspecialchars
,mysql_real_escape_string
但问题仍然存在。。
方法二
$param2 = "WHERE prodname LIKE '$param %' OR prodname LIKE '% $param'
OR prodname LIKE ' $param%' OR prodname LIKE '%$param '
OR prodname LIKE '% $param %'
order by CASE WHEN instr(prodname, '$param') = 0 then 1 else 0 end, instr(prodname, '$param') ASC";`
这也很好用,但是当我输入确切的产品时,例如“STAMP PAD INK (RED)”,它会返回结果“NOT FOUND”,但是当我只输入“STAMP PAD INK”时它会显示..由于某种原因它可以在我添加'%$param%'
但是当我输入一个确切的单词时。“INK”这个词也显示了“WRINKLED”,我不想这样。
我不能使用全文..