我在数据库中有一个表,其中有一个名为title的列。在那张桌子上想象我有一个汽车名称,例如丰田fj巡洋舰。现在,如果我使用%like%搜索并搜索%Toyota%,它将正确返回丰田fj巡洋舰的结果。现在,如果我像%Toyota f%一样搜索,它将再次正常返回。
当我尝试搜索%Toyota cru%然后它没有返回丰田fj巡洋舰的标题时出现问题。
$sql_sticky = mysql_query("SELECT `title`, `category`, `subcategory`, `type`, `times` FROM `product_search1` WHERE `title` LIKE '%$key%' order by times desc limit 30");
为什么会这样?
答案 0 :(得分:4)
您正试图通过打破单词序列进行搜索。
要实现您的需求,一种解决方案是拆分单词并向其添加%
模式。
因此,您的关键字应该成为%Toyota%cru%
您可以先在spaces
中将%
替换为PHP
,如下所示:
$str = 'Toyota cru';
$queryStr = str_replace(' ', '%', $str);
$sql = "SELECT car_name FROM tbl_name WHERE carname LIKE '%$queryStr%'";