2013-09-21 31 views
0

我下面的視頻教程笨,我的代碼是完全一樣的教程,但我收到以下錯誤:繼笨教程和recieving一個致命錯誤

Fatal error: Call to a member function get() on a non-object /public_html/application/models/site_model.php on line 7

有誰看到什麼我在下面的代碼中做錯了?

這是7號線

$q = $this->db->get('test'); 

這是頁面的完整代碼

class Site_model extends CI_Model { 

    function getALL() { 
    $q = $this->db->get('test'); 

    if($q->num_row() > 0) { 
     foreach ($q->result() as $row) { 
     $data[] = $row; 
     } 
     return $data; 
    } 
    } 
} 
+0

'$ this-> db' [object]沒有初始化,既沒有在'class Site_model'也沒有'CI_Model' ...知道我的意思嗎? – djot

+0

你可能有不同的CI安裝 – Kyslik

+0

儘管你的答案不是解決這個問題的答案,但你的答案是部分正確的,因爲你現在必須在模型和控制器類前面添加CI_,而舊的教程沒有顯示。我想指出這是因爲有人遇到這個問題,因爲兩天前這是我的第一個問題。 –

回答

1

轉到應用程序/配置/ autoload.php autoload.php,並添加此

$autoload['libraries'] = array('database'); // add database in array 
+0

感謝這個答案的工作。 –

0

在CodeIgnitor你必須用 「$ Q-> num_row()」,以使該爲「$ Q-> NUM_ROWS()」

變化像下面線

if($q->num_rows() > 0) { 
0

在你使用的數據庫對象,你要加載它,加入:

$this->load->database(); 

打完改變它類似於此:

function getALL() { 
    $this->load->database(); 
    $q = $this->db->get('test'); 

PS:我會建議你將需要貫穿在每一頁的自動加載庫(數據庫對象通常是其中之一),或在構造函數中至少裝載。