MySql计数不准确。笨

时间:2013-11-15 17:16:33

标签: php mysql codeigniter

我目前正在使用Codeigniter。如下所示,查询查找行数,然后将其发送到视图。但是,视图未显示实际计数。 DB(InnoDB)上的实际计数为1001,但在我的视图中最多显示1000。有任何想法吗?

    Model:
    public function check_source_email($location){
    $query="SELECT COUNT(*) as row_count FROM feedback WHERE location = '$location' AND source_lead = 'Email' ";
    $count=$this->db->query($query)->result();
    return $count[0]->row_count;
} 

    Controller:
    $data['email'] = $this->Stats->check_source_email($location); 

    View:
    <strong>Email Listing</strong><span class="pull-right"><?php echo $email; ?></span>              

2 个答案:

答案 0 :(得分:1)

使用num_rows

public function check_source_email($location){

   $query = $this->db->get_where('feedback',array('location'=>$location,'source_lead'=>'Email'));
   return $query->num_rows();

} 

答案 1 :(得分:0)

首先,如果您正在使用codeigniter,我会尝试以codeigniter方式执行操作:

public function check_source_email($location) {
  return $this->db
    ->where('location', $location)
    ->where('source_lead', 'Email')
    ->count_all_results('feedback');
}

理论上应该返回正确的结果,虽然我不确定原来为什么没有,但也许这会解决它。