2017-02-27 34 views
-1

嗨我想檢查查詢結果。如果它是空的,我想發送數據到數據庫。在我的代碼中,即使結果爲空,我也無法更新數據庫。如何檢查查詢結果爲空

$this->db->where('login',$data_db['login']); 
    $query = $this->db->get('users'); 
    if(is_null($query)) // If Login doesn't exist in DB 
    { 
     $this->db->insert('users', $data_db); // Insert into DB 
    } 
} 

我試圖做的是,在其他的方式,但如果用戶不存在我得到「試圖獲得非對象等」

其他方式:

$this->db->where('login',$data_db['login']); 
$query = $this->db->get('users'); 
$row = $query->row(); 
if($row->login) 
{ 
    $this->load->view('content/error'); 
} 
else 
{ 
    $this->db->insert('users', $data_db); 
} 

回答

3

我建議通過用戶指南閱讀你張貼問題之前再次你會發現你的期待˚F要麼。

嘗試ñ$query->num_rows() userguide

public function somefunction($data_db = array()) { 

$this->db->where('login',$data_db['login']); 

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

if($query->num_rows() > 0){ 
    return TRUE; 
} else { 

    $this->db->insert('users', $data_db); 
} 

} 
+0

謝謝你,這就是即時尋找。我從來沒有使用過num_rows這就是爲什麼我的問題是如此愚蠢的脂肪酶。 – Adi212

+0

@ Adi212如果有效,請接受我的回答 – user4419336

-1

總是可以只執行此

if (mysql_num_rows($query)==0) {your code if its null}