2017-02-27 149 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}