제목 | db에서 값을 가지고 올 때, count_all_results() 에서 문제가 발생합니다. | ||
---|---|---|---|
글쓴이 | bismute | 작성시각 | 2014/10/07 16:14:59 |
|
|||
db에서 값을 가지고 올 때, count_all_results() 에서 문제가 발생합니다. function list_result($adm = 1) { $result['total_cnt'] = $this->db->count_all_results('popup'); if($adm){ $this->db->select('pp_idx,pp_title,pp_filename,pp_fixed_yn,pp_start_date,pp_end_date,pp_ppwidth,pp_ppheight,pp_datetime'); $this->db->order_by('pp_idx', 'desc'); $qry = $this->db->get('popup'); $result['qry'] = $qry->result_array(); }else{ $result = $this->db->select('pp_idx,pp_title,pp_filename,pp_fixed_yn,pp_start_date,pp_end_date,pp_ppwidth,pp_ppheight,pp_datetime')->get_where('popup',array('pp_fixed_yn =' => 'Y'))->result_array(); } return $result; } 다음과 같이 구성해서 가지고 오려고 하는데, count_all_results('popup'); 이 부분에서 'popup' 테이블의 개수를 가지고 오게 하려고 하는데 Call to a member function count_all_results() on a non-object 라는 에러가 계속 떨어집니다. 제가 무엇을 잘못해서 저런 상황이 발생하는 걸까요? |
|||
다음글 | 임베디드 리눅스 (3) | ||
이전글 | codeigniter 트랜잭션에서 롤백 시 오류가 되는... (2) | ||
zetracker
/
2014/10/07 16:28:42 /
추천
0
|
변종원(웅파)
/
2014/10/07 16:34:17 /
추천
0
db 종류와 버전은요?
db 드라이버가 로딩된거는 맞으시죠? |
bismute
/
2014/10/07 16:39:43 /
추천
0
zetracker //
추가해봤는데 에러는 여전히 동일하게 출력됩니다. 변종원(웅파) // db종류는 mysql 이고, 버전은 5.6.17입니다. db는 제대로 연결된 거 확인했습니다. db세팅을 맞추고서 index 쪽에서 게시글들을 불러오는 작업을 하는 가운데 발생한 거니. |
들국화
/
2014/10/07 16:55:53 /
추천
0
AR을 사용할줄 몰라서 답을 안달았는데요.
디비연결이 잘되었다면 그냥 쿼리문으로 하는건 어떨까요? |
zetracker
/
2014/10/07 16:59:28 /
추천
0
저 코드가 어디에 쓰인건지도 알고싶습니다~ 모델쪽이나 컨트롤러클래스 내부의 function 인가요 아니면 다른데쓰인건가요?
|
bismute
/
2014/10/07 17:08:25 /
추천
0
zetracker//
위의 코드는 모델쪽에서 사용한 거고요, 컨트롤러 클래스 쪽 내에서는 public function index() { $popup = $this->M_a_popup->list_result(0); $pulayer = ""; } 이렇게 사용을 하는데 M_a_popup->list_result(0); 이렇게 불러오면서 문제가 발생되는 거 같더라구요. |
한대승(불의회상)
/
2014/10/07 17:10:47 /
추천
0
테이블의 모든 레코드수를 가져오는 거라면..
$this->db->count_all(); |
zetracker
/
2014/10/07 17:23:16 /
추천
0
bismute
한대승 님께서 제시해주신 count_all() 로 변경해보시구요 (왠지 이거일거같은 느낌이 드네요 ..?) 그래도안되면 모델 내부에 간단하게 select 해서 데이터 출력하는함수 테스트로 만드셔서 에러없이 작동하는지 확인해보시구요 ex) fucntion getPopupData(){ return $this->db->get('popup')->result(); } 다른 함수는 되는데 본문에 써주신 함수만 안되면 좀더 생각해봐야겠네요 |
letsgolee
/
2014/10/08 07:04:40 /
추천
0
Call to a member function count_all_results() on a non-object 에러는 $this->db를 데이터베이스 오브젝트로 인식하지 못했기 때문에 나타나는 에러입니다. 따라서 앞서 $this->load->database()가 있는지 혹은 class의 정의시 parent::__construct()가 혹 빠졌는지 혹은 어떤 이유에서 $this->db가 생성되지 않은 이유를 찾아야 할 것 같네요.
|
function list_result($adm = 1) {
$result = array();
$result['total_cnt'] = $this->db->count_all_results('popup');
저거 추가해서 확인해보시겠어요? non-object에 결과를 넣으려고한다고 말하는것같아요~