CI 묻고 답하기

제목 쿼리 잘못된거 없는데 값이 안나와요
카테고리 CI 2, 3
글쓴이 니로 작성시각 2017/04/26 09:37:50
댓글 : 17 추천 : 0 스크랩 : 0 조회수 : 18663   RSS
		$now = date("Y-m-d");

		$this->db->select('count(CON_ID) MV_COUNT');
		$this->db->from($this->table_name['ECC']);

		//오늘기준 검색
		$sdate  = "DAYDATE >= TO_DATE('".$now."','YYYY-MM-DD')";
		$this->db->where($sdate);
		$edate  = "DAYDATE < TO_DATE('".$now."','YYYY-MM-DD')+1";
		$this->db->where($edate);

		$data = $this->db->get();

		if($data->num_rows() > 0){
			$data = $data->row_array();
		}else{
			$data = array();

		}

		return $data;

 

이렇게 되어있는데요

		$data = $this->db->get();

아래에 echo $this->db->last_query();

찍어서 그걸로 직접 돌려보면 값이 나오는데요

 

저렇게 하니까 리턴되는게 하나도 없어요

 

그리고 

		$data = $this->db->get();

이걸 찍어보려고

print_r($data) 를 해보니

아무것도 안나오는데..

 

어디가 잘못된건가요..?

 

 다음글 get_where()은 자동으로 이스케이프해주나요?+세... (2)
 이전글 서로 다른 서버의 도메인 접속 변경 방법 질문입니다. (3)

댓글

kaido / 2017/04/26 10:02:07 / 추천 0
$this->db->select('count(CON_ID) MV_COUNT' , false);

 

샤오란 / 2017/04/26 10:03:53 / 추천 0
변종원(웅파) / 2017/04/26 10:05:59 / 추천 0

where(쿼리, null, false) 세번째 파라미터 false 줘 보세요. 

자세한 설명은 매뉴얼(http://cikorea.net/user_guide_2.1.0/database/active_record.html) 참고하세요.

니로 / 2017/04/26 10:14:24 / 추천 0

다른 쿼리들도 저거랑 똑같이 되어있는데..

일단 저쿼리에 fasle를 줬는데 그래도 안되네요 ㅠ

kaido / 2017/04/26 10:31:45 / 추천 0

그냥 간단하게 처리하세요.

$date = date('Y-m-d');
$this->db->where("createDatetime >=", $date);
$this->db->where("createDatetime <", date('Y-m-d', strtotime($date.'+1 day')));

 

샤오란 / 2017/04/26 10:33:09 / 추천 0
간단하게 처리하는것을 추천합니다. 하지만 이유가 궁금하니 이유를 찾으시면 말씀해주세요~ ㅎㅎ
니로 / 2017/04/26 10:33:25 / 추천 0

kaido / 허헛.. ㅋㅋ 이렇게 하니 또되네요..

뭐가 다른문제인지..

샤오란 / 2017/04/26 10:34:31 / 추천 0
어떻게 하니 된다는 말씀이신가요 ??
니로 / 2017/04/26 10:35:10 / 추천 0
샤오란//kaido 님이 써주신대로 변경해서 하니까 잘됩니다 무슨 차이인지는 알아봐야겠네요
샤오란 / 2017/04/26 10:36:48 / 추천 0
디비 머쓰시나요 ?
kaido / 2017/04/26 10:39:00 / 추천 0

간단하게 처리 라고 했지만 제가 저렇게 한 데에는 적어도 3가지 이유가 있어요.

 

1. 우선 where 에다 3번째 인자에 false 인자를 안주면  밴틱을 감싸서 문제가 생깁니다.

2. 1번의 문제를 회피 하려면 저처럼 " , " 구분자로 앞에 비교대상과 조건식을 분리 하는게 좀 더 깔끔합니다.

3. todate 으로 전환할거 없이, php에서 쿼리 전송시에 date 타입은 date 타입 오브젝트로 바꿔서 전송해 줍니다.

전상민 / 2017/04/26 10:50:56 / 추천 0

@kaido

백틱이 맞는걸로 알고 있습니다^^

kaido / 2017/04/26 11:09:37 / 추천 0

@전상민

여태까지 밴틱으로 알고 있었던 1人 ㅋㅋㅋ

샤오란 / 2017/04/26 11:10:11 / 추천 0
밴틱하니까 롤이 생각나는 1 person
샤오란 / 2017/04/26 11:47:25 / 추천 0
원인을 찾으시면 꼭! 말씀해주세요~ ㅎㅎ 궁금하네요~