| 제목 | mysql select 변수 할당이 잘 안되네요;; 어떻게 할수 있을까요? | ||
|---|---|---|---|
| 카테고리 | DB | ||
| 글쓴이 | 그동안 | 작성시각 | 2019/02/26 02:08:00 | 
|  | |||
| 
이 변수를  $company_search_name = $array['company_search_name']; 
6번 줄에 대입하고 싶은데 어떻게 하면 될까요?  POSITION("$company_search_name" IN company_name)
function master_company_search($array)
{
    $company_search_name = $array['company_search_name'];                              //[1]array로 받은 값 변수화
    $sido_search_name = $array['sido_search_name'];                                    //[1]array로 받은 값 변수화
     
    $this->db->select('company_id, company_name, POSITION("$company_search_name" IN company_name) AS keyword_position, business_type, addr ');  //position은 mysql 위치 함수 임.    
    $this->db->from('master_company');   
    $this->db->like('company_name', $company_search_name );                            //[2]대입. company_name db필드에서 $company_search_name 키워드를 찾음
    $this->db->like('addr', $sido_search_name );                                       //[2]대입. addr db필드에서 $sido_search_name 키워드를 찾음
    $this->db->not_like('company_name', '일용');                                       //제외
    $this->db->not_like('company_name', '입주자'); 
    $this->db->order_by("keyword_position", "asc");                                    //정렬. keyword_position에서 검색한 키워드가 앞에 위치한 것
    $this->db->limit(10);                                                              //[추후수정]가져올 개수, 옵셋  
    $query = $this->db->get();                                                              
    $result = $query->result();
    return $result;   
}
 | |||
| 다음글 | 숫자형 데이터 꺼네올때 콤마찍는법좀 알려주세요. (2) | ||
| 이전글 | db like 검색중 인데, 조건이 1개일때는 되는데,... (3) | ||
| 
                                한대승(불의회상)
                                /
                                2019/02/26 09:03:09 /
                                추천
                                0
                             | 
| 
                                그동안
                                /
                                2019/02/26 10:33:58 /
                                추천
                                0
                             대승님. 감사합니다 덕분에 해결됐습니다. 혹시, 뒤에 ,false은 어떤 의미인지 알수 있을까요? keyword_posision 값이 없으면 건너뛴다는 뜻인지?? 잘모르겠네요. | 
| 
                                kaido
                                /
                                2019/02/26 10:56:25 /
                                추천
                                0
                             기본값은 true 입니다. 쿼리문에 mysql 보호 기호인 ' 백틱 문자열을 넣겠다는 의미입니다. false 로 하면 문자열을 추가하지 않고 네이티브하게 쓰겠다는 의미입니다. $this->db->last_query() 찍어보시면 생각하지 못한 형태로 쿼리가 들어가 있음을 확인 하실수 있습니다. | 
$this->db->select('company_id, company_name, POSITION("$company_search_name" IN company_name) AS keyword_position, business_type, addr ');이문장을 아래처럼 고쳐 쓰세요.
$this->db->select('company_id, company_name, business_type, addr '); $this->db->select("POSITION('{$company_search_name}' IN company_name) AS keyword_position", false);