2013-06-16 2 views
0

Codeigniter와 식료품 점에 오류가 발생했습니다. 코드는 다음과 같은 메시지를 던지고 나는 며칠 동안 그것으로 붙어 아래, 나는 총 멍청한 놈이야 : ( 오류 :Codeigniter - 비 객체의 속성을 얻으려고 시도합니다.

PHP는 오류가 발생했습니다

심각도 :주의

메시지 : 비 개체의 속성을 얻으려고 노력

파일 이름 : 컨트롤러/examples.php

줄 번호 : (70)

ps :

함수가 필요하지만 위의 오류가 표시됩니다.

감사합니다.

function security() { 
$method = $this->uri->segment(3); //tell ci that we are working on url segment 3, e.g. delete, update .... 

if ($method == "edit" or $method == 'update_validation' or $method == 'delete') { 
     $id = $this->uri->segment(4); //work on url segment 4, now pointing at posts table  primary key 
     $this->db->where('posts.user_id', $this->session->userdata('id')); 
     $result = $this->db->get_where('posts', array('id' => $id), 1)->row(); 

     //this is line: 70 if ($result->id != $id) 
     { 
      echo "You don't have access"; 
      exit; 
     } 
    else return true; 
} 
} 
+1

어떤 줄이 70일까요? – kuujo

답변

0

$this->db->get_where('posts', array('id' => $id), 1)->row(); 행에 값 확인을 추가 할 수 있습니다. 문서에서 정확한 반환 값을 찾을 수는 없지만 해당 행은 false 또는 행을 사용할 수없는 경우를 반환 할 수 있습니다.

$result = this->db->get_where('posts', array('id' => $id), 1)->row(); 
if (!$result || $result->id != $id) { 
    echo "You don't have access"; 
    exit; 
} 
+0

A 참고 :'row()'문서를 조금 읽은 후에는 사용할 수있는 행이 없을 때 호출하면 어떤 일이 발생하는지 정확하게 말하지 않습니다. 그러나 아마도'null' 또는'false'를 반환 할 것입니다. – kuujo

+0

너 남자 야! 그것은 완벽하게 작동했습니다! – user2085814

+0

우수! 기꺼이 도와주세요. 당신이 아직도 그것을 믿는다면 대답을 받아 들일 수 있습니다 :-) – kuujo

관련 문제