2011-04-11 58 views
0

我希望獲取通過模型我想使用codeigniter框架php從mysql數據庫中讀取?

SELECT `id`, `name`, `visits`, `shortdes`, `photo` FROM `products` 
     WHERE `name` LIKE '$word' 
     OR `shortdes` LIKE '$word' ANd `valid` = 1 ORDER BY `id` DESC 

我用,但我可以使用什麼樣的,它返回假

$this->db->order_by('id', 'desc'); 
$this->db->like('name', $word); 
$this->db->or_like('shortdes', $word); 
$this->db->where('valid', 1); 
$this->db->select('id, name, visits, shortdes, photo'); 
$query = $this->db->get('products'); 

+0

有你設置的config文件夾中的文件database.php中?這需要用您的憑證指向您的數據庫。如果你刪除了WHERE,SELECT,LIKE等方法,那麼只需要'$ query = $ this-> db-> get('products');'這是否工作? – Chris 2011-04-11 20:31:08

+0

是的,它給了我一個結果,但我不想要 – Buffon 2011-04-11 20:33:20

回答

0

對於調試codeigniter的查詢構建器查詢,我通常會推薦做這樣的事情來調試它們,並確切地看到語句正在產生什麼查詢。

$this->db->order_by('id', 'desc'); 
$this->db->like('name', $word); 
$this->db->or_like('shortdes', $word); 
$this->db->where('valid', 1); 
$this->db->select('id, name, visits, shortdes, photo'); 
$query = $this->db->get('products'); 

echo "<pre>" 
die(print_r($this->db->last_query(), TRUE)); 

運行時,它將輸出正在生成的實際原始SQL查詢,然後可以從那裏調試它。

+0

它給了我'SELECT'ID','name','visited','shortdes','photo' FROM('products') WHERE' =' AND'name' LIKE'%%' 或'shortdes' LIKE'%%' ORDER BY'id' desc' – Buffon 2011-04-11 20:37:27

+0

看起來'$ word'是空的,這意味着您將得不到結果,因爲沒有任何結果匹配...好...什麼都沒有 – jondavidjohn 2011-04-11 20:40:19

+0

好的謝謝你的工作 – Buffon 2011-04-11 20:44:08

0

你應該爲了你的活動記錄查詢您訂購一個普通的SQL查詢以同樣的方式...

選擇

WHERE

ORDER_BY

$這個 - > DB-> GET (X); - 這相當於FROM。

IE:

<?php 
$this->db->select('id, name, visits, shortdes, photo'); 
$this->db->where('valid', 1); 
$this->db->like('name', $word); 
$this->db->or_like('shortdes', $word); 
$this->db->order_by('id', 'DESC'); 
$query = $this->db->get('products'); 
if ($query->num_rows() > 0) 
{ 
    $row = $query->row(); 

    echo $row->id; 
    echo $row->name; 
    echo $row->visits; 
    etcetc... 
} 

或代替使用活動記錄,你可以只使用一個完整的查詢。

$query = $this->db->simple_query('YOUR QUERY HERE'); 

使用以下的用戶指南頁面獲取更多文檔:

活動記錄: http://codeigniter.com/user_guide/database/active_record.html

查詢結果: http://codeigniter.com/user_guide/database/results.html

相關問題