2014-12-26 54 views
0

這是我在型號代碼..調用一個成員函數NUM_ROWS()一個非對象的模型文件

function get_info($product_id) 
{ 
    $this->db->from('product'); 
    $this->db->where('product_id',$product_id); 

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

    if($query->num_rows()==1) 
    { 
     return $query->row(); 
    } 

計算器上如此多的問題,但我不發現有關情況的任何答覆。那麼我做錯了什麼?

+0

請檢查'$ query'的類型。我認爲這是錯誤的。而你正在嘗試 - > num_rows()爲false。還要檢查你是否正確輸入了表名'product'和字段名'product_id' –

+2

嘗試使用echo'$ query-> num_rows();'檢查並檢查結果。並且檢查查詢是否正常工作.... –

+0

db :: get()是否返回一個對象?什麼'回聲gettype($ db);'告訴你?沒有使用CodeIgniter,但讓我們知道'$ query'的類型是多少,它會給你更多的洞察。 –

回答

7

你的查詢可能是失敗的。請確保數據庫調試中並修改您的代碼:

if ($query !== FALSE) 
{ 
    // Run your code 
    if ($query->num_rows() === 1) 
    { 
     return $query->row(); 
    } 
} 
else 
{ 
    // Check error 
    echo 'Database Error(' . $this->db->_error_number() . ') - ' . $this->db->_error_message(); 
} 
+0

它沒有給出一個解決方案,指向正確的方向,我得到了我的答案。 –

0

好像你沒有找到任何結果,所以查詢返回false。另一個選項是db連接問題,請在配置文件中檢查它。

1

你能夠執行任何SQL查詢嗎?我懷疑你的數據庫連接根本不起作用...檢查你的數據庫設置

相關問題