我有这个表格,我用它来搜索数据库中的特定记录。
这是查询:
$sql = "select * from `hostess` where first_name_en like '%$term' or family_name_en like '%$term%' order by `family_name_en` asc";
问题是,如果我搜索 ie ele,就会出现所有包含ele的名称,例如elena等,但是如果我写elena什么都不会出现。
怎么会?
您在第一个 LIKE 中遗漏了 %。目前你的说法搜索任何以ele结尾的名字。
LIKE '%ele'
- 匹配任何以 ele 结尾的东西LIKE 'ele%'
- 将匹配以 ele 开头的任何内容LIKE '%ele%'
- 将匹配任何带有 ele 的东西$sql = "select * from `hostess` where first_name_en like '%$term%' or family_name_en like '%$term%' order by `family_name_en` asc";
%$期限%
用这个
您是否有理由不使用value%
的末尾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";