2013-06-14 3 views
0

기본 PHP codeigniter 앱에서 이상한 동작이 나타납니다.CodeIgniter가 정의되지 않은 변수에 대해 불평하지만 아직 print_r 결과를 표시합니다.

가장 독특한 무엇
number of rows: 

    Warning notice 
    undefined variable: rows 

number of rows: 10 

이 내 PHP 코드를 실행 두 번하려고하는 것처럼 보이는 것입니다,하지만 난 이유를 알아낼 수 없습니다 :

내 출력은 다음과 같습니다. 어떤 통찰력에 감사드립니다 :

코드 아래 :

모델 :

class foo extends CI_Controller 
{ 
    public function index() 
    { 
      $this->go(); 
    }  

    public function go() 
    { 
     $this->load->model('model'); 
     $data = array('rows'=> $this->model->count()); 
     $this->load->view('view',$data); 
    } 
} 

모델 :

class model extends CI_Model 
{ 
     public function count() 
     { 
      $query = "Select count(1) as count from table"; 
      $result = $this->db->query($query);  
      return $result->result_array(); 
     } 
} 

보기 :

<html> 
<body> 
    Number of rows: <?php print_r($rows[0]['COUNT']); ?> 
</body> 
</html> 
+0

@Rooster에 인덱스 기능을 변경하려고'가의'go' 기능에 정의되어 @Jessica => ' – Woot4Moo

+0

'data' 배열의 내부에있는'컨트롤러 '. – Woot4Moo

+0

'count' 다음에'$ rows [0] [ 'COUNT']'? 또한, 그것은' '거기서 쓴 것은 아닙니다. 또한 CI는'row_array()'를 사용하여 하나의 행을 얻습니다. 귀하의 코드가 어떻게 작동하는지 궁금합니다. – Twisted1919

답변

2

은 색인 기능처럼 보이는이 사격 및 c 이동하기 전에 alling go()가 호출됩니다.

귀하의 htaccess 규칙이 잘못 작성된 것 같습니다.

내 코드가 제대로 반영 나는 두 개의 별개의 컴퓨터에 걸쳐 그것을 전사했다이

public function index() 
{ 
    redirect('index.php/foo/go'); 
} 
+0

이것이 저에게 효과적이었습니다. 이제는 내 액세스 규칙을 수정해야 할 것 같습니다. – Woot4Moo

+0

잘했을 때, 당신은 그 리디렉션의 index.php/부분을 제거 할 수 있습니다. – Rooster

관련 문제