와일드카드(%)가 있는 코드 점화기 LIKE
코드 점화기에 간단한 데이터베이스 쿼리가 있지만 와일드카드로 작동할 수 있는 검색을 얻을 수 없습니다.이게 내 암호입니다.
$this->db->like('film.title',"%$query%");
$this->db->escape_like_str($query);
$res = $this->db->get('film');
와일드카드(%)를 제거하면 검색이 잘 됩니다.또한 $query는 사용자 입력이 포함된 문자열일 뿐입니다.어떤 도움이든 감사히 받겠습니다.
$this->db->like()
%s을(를) 자동으로 추가하고 문자열을 탈출합니다.그래서 당신은 필요한 것은
$this->db->like('title', $query);
$res = $this->db->get('film');
$this->db->like('title', 'match', 'before');
// Produces: WHERE title LIKE '%match'
$this->db->like('title', 'match', 'after');
// Produces: WHERE title LIKE 'match%'
$this->db->like('title', 'match', 'both');
// Produces: WHERE title LIKE '%match%'
사용자가 사용할 수 있는 Full의 경우:
$this->db->like('title',$query);
%$ 쿼리의 경우 사용 가능
$this->db->like('title', $query, 'before');
$ query%의 비용으로 사용할 수 있습니다.
$this->db->like('title', $query, 'after');
$this->db->like()
이 메서드를 사용하면 검색할 때 유용한 LIKE 절을 생성할 수 있습니다.
$this->db->like('title', 'match');
생산품: WHEREtitle
'%match%'와 같은 경우
와일드카드(%)가 배치되는 위치를 제어하려면 선택적인 세 번째 인수를 사용할 수 있습니다.옵션은 '이전', '이후', '없음' 및 '둘 다'(기본값)입니다.
$this->db->like('title', 'match', 'before');
생산품: WHEREtitle
'%match'와 같은 경우
$this->db->like('title', 'match', 'after');
생산품: WHEREtitle
'match%'처럼
$this->db->like('title', 'match', 'none');
생산품: WHEREtitle
'성냥' 처럼
$this->db->like('title', 'match', 'both');
생산품: WHEREtitle
'%match%'와 같은 경우
와일드카드(%)를 사용하지 않으려면 옵션 'none'을 선택적인 세 번째 인수로 전달할 수 있습니다.
$this->db->like('title', 'match', 'none');
// Produces: WHERE title LIKE 'match'
사용하고 있습니다.
$this->db->query("SELECT * FROM film WHERE film.title LIKE '%$query%'"); for such purposes
여러 필드를 한 번에 검색하면 이렇게 할 수 있습니다.
function search($search)
{
$sql = "SELECT * FROM some_table
WHERE UPPER(a_name) LIKE ?
OR
UPPER(a_full_name) LIKE ?
OR
UPPER(a_city) LIKE ?
OR
UPPER(a_code) LIKE ?
";
$arr = array_map(array($this,"wrapLIKE"),array($search, $search, $search, $search));
$r = $this->db->query($sql, $arr);
return $r;
}
function wrapLIKE($string)
{
return strtoupper("%$string%");
}
언급URL : https://stackoverflow.com/questions/16226906/codeigniter-like-with-wildcard
'programing' 카테고리의 다른 글
요소 형제를 얻는 *각도* 방법은 무엇입니까? (0) | 2023.10.07 |
---|---|
"스트립"(GCC 응용프로그램)은 무엇에 사용됩니까? (0) | 2023.10.07 |
워드프레스의 특정 카테고리 아래에 (미디어 라이브러리에서) 이미지를 표시하는 방법? (0) | 2023.10.07 |
안드로이드 스튜디오의 외부 라이브러리에 항아리를 추가하는 방법은? (0) | 2023.10.07 |
다른 스키마에서 두 개의 테이블 쿼리 (0) | 2023.10.07 |