CodeIgniter Forums
Number of results is wrong - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: CodeIgniter 4 (https://forum.codeigniter.com/forumdisplay.php?fid=28)
+--- Forum: CodeIgniter 4 Support (https://forum.codeigniter.com/forumdisplay.php?fid=30)
+--- Thread: Number of results is wrong (/showthread.php?tid=78220)



Number of results is wrong - Gehasi - 12-16-2020

Hi,
I am a newbie with codeigniter 4.

I have a table with 3 entries each entry has a unique uniid. With my query I want to get the one entry with the corresponding uniid. This works but when I want to check if the result of the query has found 1 entry it doesn't work anymore, because the function countAll() always returns 3 instead of 1.

Can someone help me what I am doing wrong?


Thank you....


Code:
public function verifyUniid($id) {
  $builder = $this->db->table("users");
  $builder->select('activation_date,uniid,status');
  $builder->where('uniid',$id);
  $result=$builder->get();
  if($builder->countAll()==1){

    return $result->getRow();
  } else {
    return $builder->countAll();
  }

}



RE: Number of results is wrong - mlurie - 12-16-2020

This is working as intended. countAll() returns the total number of rows in a table.  Use countAllResults() to get the number or rows returned by a query.  The documentation can be reviewed here: https://codeigniter4.github.io/userguide/database/query_builder.html#limiting-or-counting-results.


RE: Number of results is wrong - Gehasi - 12-22-2020

Thanks


RE: Number of results is wrong - demyr - 12-22-2020

Be careful: return $result->getRow(); returns one single row. Instead
return $result->getResult(); turns all your list