我没有多少运气中检测时,数据库中的查询笨返回的零结果。我有一个很好的阅读笔记上PHP计功能,但是没有明智的!

我叫查询/视为遵从控制器:

$data['result'] = $this->search_model->do_search(set_value('name'));
$data['title'] = "Search results";
$this->load->view('search_view',$data);

图产生结果表对我来说好的但当我试图和陷阱的一个空的结果,该计数总是返回1:

我已经尝试了 if count(array($result)) 只是 if count($result)

那么什么是一个很好的方式来获得的数?我使用的Fedora13PHP5.3.3在我开发的笔记本电脑。

有帮助吗?

解决方案

看看 $query->num_rows (<-可以点击).

其他提示

最好的事情要做你的模式如下:

$query = $this->db->something()....
...
...
if ( $query->num_rows() > 0 )
{
    return $query->result();
}
else
{
    return FALSE;
}

然后在你的控制器或查看你会做到以下几点:

if ( !empty($my_db_result) ) 
{
    ......
}

这一过程使你做出回应的结果基于结果的类型。如果行可能被检索,这将返回阵列项目可以算通过PHP的count()function.由于第二块的检查,如果结果是空(请注意"虚假的"被视为是空的)你不会碰到任何问题(例如当使用foreach循环)并且可以指定要做什么情况下都没有结果。

尝试 if(isset($result) && count($result)) 在你的查看文件内,如果声明您可以写代码你想要执行的当插入在数据库超过0...祝你好运!

如果你把 count($result)if 声明然后,当它succeds,它只返回 1.

你可以试试 $query->num_rows() 在一个不同的方式。

例如,我计数显示管理连接的答复用户的连接

数据库

在用户加表:[的状况][int][1]

在用户还我有:[作用][varchar][255]

更新执行1(onligne)登录在验证()

if($this->model_users->can_log_in($email,$pass)){   
$update = array('status' => 1);
$this->model_users->update_onligne($email,$update);
redirect('main/members');

和模型:

public function update_onligne($email,$update){
        $this->db->where('email',$email);
        $this->db->update('users',$update);
        return true;
    }

更新状况,以在脱机的注销()

注销的控制器:

public function logout(){
        $id = $this->session->userdata('id');
        $update = array('status' =>0);
        $this->model_users->logout($id,$update);
        $this->session->sess_destroy();
        redirect('main/login');
    }

注销模型:

public function logout($id,$update){
        $this->db->where('id',$id);
        $this->db->update('users', $update);
        return;
    }

最Onligne:

控制器:

$data['admin_onligne'] = $this->model_users->count_onligne_admin();
$data['user_onligne'] = $this->model_users->count_onligne_users();
$this->load->view('template/page_left',$data);

该模型:

public function count_onligne_admin(){
            $query = $this->db->query('SELECT COUNT(status) AS enligneadmin FROM users WHERE status=1 AND role="admin"')->row_object();
            return $query->enligneadmin;
        }

public function count_onligne_users(){
            $query = $this->db->query('SELECT COUNT(status) AS enligneuser FROM users WHERE status=1 AND role="etudiant"')->row_object();
            return $query->enligneuser;
        }

观众

<span><?php echo $user_onligne ;?> User en ligne</span>
<span><?php echo $admin_onligne ;?> Admin en ligne</span>

我dowing这个和它workd我

控制器

$id = $this->session->userdata('id');
if($this->model_users->if_user_dont_have_email($id)){
....
}

模型用户

public function if_user_dont_have_email($id){
    $query = $this->db->query("SELECT email FROM users WHERE id='$id'");
    if ($query->num_rows() > 0) {
        $row = $query->row_array(); 
        if(empty($row['email'])){
            return true;
        }else{
            return false;
        }
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top