CI 묻고 답하기

제목 다시 질문합니다..A PHP Error was encountered에관해서 질문합니다..
글쓴이 바다의이무기 작성시각 2014/12/09 17:21:07
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 22479   RSS
지금 오류표시가 밑과 같이 나옵니다.
A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: controllers/board.php

Line Number: 24

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: controllers/board.php

Line Number: 25

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: controllers/board.php

Line Number: 26

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: controllers/board.php

Line Number: 27

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: controllers/board.php

Line Number: 28

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: controllers/board.php

Line Number: 29

A PHP Error was encountered

Severity: Notice

Message: Undefined offset: 1

Filename: controllers/board.php

Line Number: 34

A PHP Error was encountered

Severity: Notice

Message: Undefined offset: 2

Filename: controllers/board.php

Line Number: 35

A PHP Error was encountered

Severity: Notice

Message: Undefined offset: 3

Filename: controllers/board.php

Line Number: 36
제가생각하기로는
board_list가 값을 못가져오는 것 같습니다.
 데이터베이스에는 저장되어 있는데..

컨트롤러에서 못가져오는 것 같습니다..그래서 자꾸 쿼리 오류뜨고 하는 것 같습니다.어떻게 하면 해결될까요??
class Board extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        // SELECT `name`, name_en FROM board_list ORDER BY `name`
        $this->db->select('`name`, name_en');
        $this->db->from('board_list');
        $this->db->order_by('name');
        $rs =$this->db->get();
        $this->board_list = array();
        foreach($rs->result() as $row) {
            $this->board_list[str_replace('board_', '', $row->name_en)] = $row->name;
        }
        $rew = $this->db->get_where('board_list', array('name_en'=>'board_'.$this->uri->segment(1)));
        $item = $rew->row();
/* 여기서 부터 문제 */
        define('MENU_ID', $item->no);
        define('MENU_SKIN', $item->skin);
        define('MENU_BOARD_NAME', $item->name);
        define('MENU_BOARD_NAME_EN', $item->name_en);
        define('MENU_BOARD_PERM', $item->permission);
        define('MENU_BOARD_DETAIL_SETTING', $item->detail_setting);
/* 여기까지 문제인것 같습니다.*/
        //게시판 퍼미션 선언. 목록보기,게시물보기,댓글작성,게시물쓰기
        $perm = explode("|", MENU_BOARD_PERM);
        $this->list_perm = $perm[0];
        $this->view_perm = $perm[1];
        $this->reply_perm = $perm[2];
        $this->write_perm = $perm[3];

        //게시판용 모델 로딩
        $this->load->model('board_m');

        //common helper
        $this->seg_exp = segment_explode($this->uri->uri_string());
        $this->output->enable_profiler(false);
    }

 다음글 php 엑셀 질문드립니다 (1)
 이전글 mysql1064 에러 때문에 질문합니다... (1)

댓글

hahakimjh / 2014/12/09 17:31:53 / 추천 0
진짜로 데이터를 가져오는지 $rew->num_rows() 호출해보세요
letsgolee / 2014/12/09 17:47:42 / 추천 0
 $rew = $this->db->get_where('board_list', array('name_en'=>'board_'.$this->uri->segment(1)));

여기서요... 먼저 uri->segment(1)값은 아마도 board이겠죠... 원하는 값은 2가 아닐까요?
그리고 segment값에 대한 검증이 있어야 할 것 같구요. 그리고 위에서 언급한 대로 $rew에 대한 값이 있는지에 대한 검증도 필요할 것 같네요.
바다의이무기 / 2014/12/09 20:02:29 / 추천 0
hahakimjh  말대로  $rew->num_rows()  출력해보니깐 0으로 나옵니다.. 역시 생각했던대로 값을 못가져오네요.. 값을 어떻게 가져와야 하나요?? 
변종원(웅파) / 2014/12/09 23:51:35 / 추천 0
주소는 어떻게 되어 있어요?
hahakimjh / 2014/12/10 16:49:52 / 추천 0
$this->db->last_query()
의도한 쿼리인지 확인해보세요.