질문 Q #16474
CI 모델에서 num_rows() 함수 에러가 납니다.
layman 2017-01-20 11:07:27

소스부분

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

		$now = date("Y-m-d");
		
		$this->db->select('count(CON_ID) COUNT');
		$this->db->from($this->table_name['ECC']);
		
		//오늘기준 검색
		$sdate  = "DAYDATE >= TO_DATE('".$now."','YYYY-MM-DD')";
		$edate  = " DAYDATE < TO_DATE('".$now."','YYYY-MM-DD')+1";
		
		$this->db->where($sdate);
		$this->db->where($edate);
		
		$data = $this->db->get();
		
		if($data->num_rows() > 0)
		{
			$data = $data->row_array();
		}

		return $data;

 

이렇구요.

 

에러는 

Fatal error: Call to a member function num_rows() on a non-object in /home/shop2/application/models/admin/admin_main_model.php on line 112 이렇게 에러가 납니다.

 

같은 서버에서 다른 부분에서는 이소스가 잘 돌아가는데 여기만 이래요.

CI 경로 문제는 없구요, index.php 도 제대로 설정되어있어요.

뭐가 문제인지 도와주세요

 

답변 4
#1 뫄뫄잉뿌 2017-01-20 11:25:40
모델쪽의 ~ on a non-object in ~ 은 쿼리가 잘 못 짜여서 난 에러입니다. 쿼리확인해주세요.
#2 layman 2017-01-20 11:35:27
뫄뫄잉뿌 / 해당 쿼리부분 $this->db->last_query()로 찍은걸 그대로 db툴로 실행했는데 정상적으로 동작합니다..
#3 마카바 2017-01-23 11:06:14

$data가 무슨 값인지 한번 찍어보세요~

제 기억엔 쿼리가 문제가 있으면? $this->db->get()의 리턴값이 false로 올 것 같습니다

#4 마카바 2017-01-23 11:07:33

아 where 쿼리 빌더 안에 스트링을 넣으려면 where($sdate, NULL, FALSE);

이렇게 하셔야되지 않을까요? 

공식 문서 참고해보세요