2011-11-29 55 views
0

我不確定此代碼不能工作,所以任何幫助將不勝感激。Codeigniter加入搜索

我想搜索一個用戶用戶名,並顯示他們的角色名稱,這是存儲在配置文件表中。

$search = $_POST['search']; 

$this->db->join('user_profiles', 'user_profiles.id = users.id'); 
$this->db->like('username',$search); 
$this->db->or_like('user_profiles.character_name',$search); 
$data['users'] = $this->db->get('users'); 

該網頁似乎沒有任何錯誤,火精,但無論怎樣我輸入到搜索,我得到0的結果。

解決:代碼沒有錯,它是我的表單驗證。

+3

你能運行'echo $ this-> db-> last_query();'並且添加運行到你的問題的實際查詢嗎? –

+0

這幫助我解決了這個問題,我的表單驗證規則破壞了一切。謝謝! –

+0

很高興幫助。我是否可以發表我的評論作爲答案,或者您是否會發布您的解決方案? –

回答

1

我建議你後運行以下的$this->db->get()

echo $this->db->last_query(); 

這將允許您調試查詢其正在運行。這將突出顯示輸入條件和查詢本身的問題。

0

只是要注意,最好是你的POST數組分配新建分配FY改寫爲

$search = $this->input->post('search'); 

而且更多的東西 - 如果這是一個模型,你最好打電話與搜索項的變量和方法將結果作爲對象或數組返回給控制器。就像你打破MVS範式一樣寫。