2014-08-28 178 views
-1

我不想被要求已經被回答的問題,但是我已經做了一噸的研究,我堅持。任何幫助,將不勝感激。致命錯誤:調用未定義的函數錯誤

我試圖查詢和數據庫的結果添加到Opencart的的addproduct.tpl

MODEL文件我有:

public function units() { //function that gets database info and returns it 

$unit_variables = $this->db->query("SELECT unit FROM ". DB_PREFIX ." 
weight_class_description"); 

if (!$unit_variables) { 

die(mysql_error()); 

} 

else { 

foreach ($unit_variables->rows as $temp_var) { 

print_r($temp_var['unit'], true); 

} 
} 
} 

CONTROLLER文件我有:

$this->load->model('catalog/product'); //where my function is located 
$this->model_catalog_product->units(); 
$weight_variables = units(); 

if (isset($this->request->post['weight_variables'])){ 

$this->data['weight_variables'] = $this->request->post['weight_variables']; 

} 

查看我有:

<?php echo $weight_variables ?> 

我收到以下錯誤:

Call to undefined function units() in /path/to/controller/file on line etc. 

注:當我的,而不是在控制器返回print_R($temp_var, true)和刪除的代碼$weight_variables = units(); if (isset($this->request->post['weight_variables'])){ $this->data['weight_variables'] = $this->request->post['weight_variables'] }這些行提交我的模型文件將顯示在查詢結果print_r($temp_var); addproduct.tpl

+0

你的班級叫什麼? – 2014-08-28 16:06:05

+0

類ModelCatalogProduct擴展型號 – Kris 2014-08-28 16:27:15

回答

2

units()是你的對象的方法,但你稱它爲一個獨立的常規函數​​:

$weight_variables = units(); 
        ^^^^^^^ 

它不應該是:

$weight_variables = $this->model_catalog_product->units(); 

呢?並注意,如果你的方法實際上不會返回任何東西,那麼$weight_variables將被簡單地分配到null ..

+0

你校正固定我的錯誤'調用未定義function'錯誤,您的正確'$ weight_variables'分配'null'。正如'聲明表示:未定義variable'但爲什麼函數沒有返回的東西,不應該在該行回到我的數據庫查詢'的print_r($ temp_var [「單元」],真實);'? – Kris 2014-08-28 16:39:36

相關問題