如何检查查询结果为null

时间:2017-02-27 21:27:19

标签: php codeigniter

您好我想检查查询结果。如果它为null我想将数据发送到DB。在我的代码中,即使结果为null,我也无法更新数据库。

    $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
    }
}

我试图以其他方式做到这一点但是如果用户不存在我得到了#34;试图得到非对象等"

其他方式:

$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);
}

2 个答案:

答案 0 :(得分:3)

我建议您在再次发布问题之前通读用户指南,您可能会找到您想要的内容。

试试n $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);
}

}

答案 1 :(得分:-1)

总是可以做到这一点

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