- 정보공유
[SQL] mysql 초성 검색.
한글 초성검색이 필요해서 혹시나 다른분들은 어떻게 사용하나 둘러봤는데
if($find == 'ㄱ'){
$where = "and (uname RLIKE '^(ㄱ|ㄲ)' OR ( uname >= '가' AND uname < '나' )) order by uname";
}else if($find == 'ㄴ'){
$where = "and (uname RLIKE '^ㄴ' OR ( uname >= '나' AND uname < '다' )) order by uname";
}else if($find == 'ㄷ'){
$where = "and (uname RLIKE '^(ㄷ|ㄸ)' OR ( uname >= '다' AND uname < '라' )) order by uname";
그러나 RLIKE 함수는 MYSQL 공식문서에는 어떤경우에는 안전하지 않다고 나온다.
if($find == 'ㄱ'){
$where = "and ( uname >= '가' AND uname < '나' ) order by uname";
}else if($find == 'ㄴ'){
$where = "and (uname >= '나' AND uname < '다' ) order by uname";
}else if($find == 'ㄷ'){
$where = "and (uname >= '다' AND uname < '라' ) order by uname";
그냥 이렇게 하는것이 안전하다.