我有一个表单,我用它从数据库中搜索特定的记录。
这是一个查询:
$sql = "select * from `hostess` where first_name_en like '%$term' or family_name_en like '%$term%' order by `family_name_en` asc";问题是,如果我搜索,例如,有所有的名字包含埃琳娜,如埃琳娜等,但如果我写埃琳娜什么都没有出现。
,为什么
发布于 2012-09-27 16:04:15
您为什么没有在%值的末尾使用first_name_en?
$sql = "select * from `hostess` where first_name_en like '%$term%' or family_name_en like '%$term%' order by `family_name_en` asc"; 编辑:大写小写问题的:
$term = strtolower($term);
$sql = "select * from `hostess` where lower(first_name_en) like '%$term%' or lower(family_name_en) like '%$term%' order by `family_name_en` asc"; 发布于 2012-09-27 16:12:51
你第一次错过了1%。目前,你说的搜索任何一个名字,以埃莱结尾。
LIKE '%ele' -将匹配任何以ele结尾的LIKE 'ele%' -将匹配任何以ele开头的LIKE '%ele%' -将与它中的任何东西匹配发布于 2012-09-27 16:03:31
$sql = "select * from `hostess` where first_name_en like '%$term%' or family_name_en like '%$term%' order by `family_name_en` asc";%$term%
使用此
https://stackoverflow.com/questions/12625415
复制相似问题