2017-08-18 12 views
0

への移行は、私が実サーバに私のCodeIgniterのアプリを移動するときに、この問題が発生したときCodeIgniterの内部サーバーエラー実サーバ

エラー:致命的なエラーが

PHP:のbooleanのメンバ関数result_array()の呼び出し/ライン上のヘルパー/アプリケーション/モデル/ team_model.php 41

コード:

return $this->db->get()->result_array(); 

全体コード:

function __Construct(){  
    $this->load->database();  
} 

function select_data($field , $table , $where = '' , $join_array = '' , $limit = '' , $order = ''){ 
    $this->db->select($field); 
    $this->db->from($table); 

    if($where != ""){ 
     $this->db->where($where); 
    } 

    if($join_array != ''){ 
     if(in_array('multiple',$join_array)){ 
      foreach($join_array['1'] as $joinArray){ 
       $this->db->join($joinArray[0], $joinArray[1]); 
      } 
     }else{ 
      $this->db->join($join_array[0], $join_array[1]); 
     } 
    } 

    if($limit != ""){ 
     if(count($limit)>1){ 
      $this->db->limit($limit['0'] , $limit['1']); 
     }else{ 
      $this->db->limit($limit); 
     } 

    } 

    if($order != ""){ 
     $this->db->order_by($order['0'] , $order['1']); 
    } 

    return $this->db->get->result_array(); 
    die(); 
} 
+0

$ this-> db-> get()は期待通りではないので、result_array()を使用することはできません。 –

+0

$ thid-> db-> get() - > result();を使用してみてください。それは配列 –

+0

の結果を返します。同じエラーが発生します –

答えて

0

私はこれをテストしたところ、私のデータベースに基づいて私のために働いています。それがあなたのために働かないなら、私はあなたのデータベースについてもっと知る必要があり、どのようにそれを使用しています。私は/ testに行くことでそれを走らせましたが、おそらくあなたのために/index.php/testでしょう。それはあなたの設定に依存します。

<?php if(! defined('BASEPATH')) exit('No direct script access allowed'); 

class Test extends CI_Controller{ 

    public function __construct() 
    { 
     parent::__construct(); 

     $this->load->database(); 
    } 

    // ----------------------------------------------------------------------- 

    /** 
    * Testing the select_data method 
    */ 
    public function index() 
    { 
     var_dump($this->select_data(
      '*', 
      'users', 
      ['username' => 'BrianG'], 
      ['auth_sessions', 'users.user_id = auth_sessions.user_id'], 
      1, 
      ['users.user_id','ASC'] 
     )); 
    } 

    // ----------------------------------------------------------------------- 

    public function select_data($field , $table , $where = '' , $join_array = '' , $limit = '' , $order = ''){ 

     $this->db->select($field); 
     $this->db->from($table); 

     if($where != "") 
      $this->db->where($where); 

     if($join_array != ''){ 
      if(in_array('multiple',$join_array)){ 
       foreach($join_array['1'] as $joinArray){ 
        $this->db->join($joinArray[0], $joinArray[1]); 
       } 
      }else{ 
       $this->db->join($join_array[0], $join_array[1]); 
      } 
     } 

     if($order != "") 
      $this->db->order_by($order['0'] , $order['1']); 

     if($limit != ""){ 
      if(count($limit)>1){ 
       $this->db->limit($limit['0'] , $limit['1']); 
      }else{ 
       $this->db->limit($limit); 
      } 
     } 

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

     return $query->num_rows() > 0 
      ? $query->result_array() 
      : NULL; 
    } 

} 

/* End of file Test.php */ 
/* Location: /application/controllers/Test.php */ 
+0

私はそれを試して、それは私にこのエラーを与える "PHP致命的なエラー:ブール値のメンバ関数num_rows()を呼び出す" –

+0

$クエリを開始する行の直後に、あなたは死ぬことができます($ this-> db-> last_query( )); –

+0

public function _constructを小文字にする必要があります__construct –