如何知道表的任何行是否满足条件

时间:2013-07-25 09:24:40

标签: php mysql codeigniter

我正在执行CodeIgniter语句,使用以下查询从表中选择一行:

$result = $this->db->query('select * from table_name where cond1 and cond2);

但我怎么知道是否选择了任何行。我使用count($ result)来确定所选的行数。但是在两种情况下都返回1,即当一行满足条件并且没有行不满足条件时。所以我问是否有办法检查。谢谢。

这里假设只有一行存在令人满意的cond1和cond2。

5 个答案:

答案 0 :(得分:1)

if($result->num_rows()>0){
    //One or more rows satisfies the condition
}else {
    //Zero rows satisfies the condition
}

答案 1 :(得分:0)

你在寻找这个吗?

$result ->num_rows();

答案 2 :(得分:0)

$ result = $ this-> db-> query('select table(*)from table_name where cond1 and cond2');

然后你需要从返回行的第一列中提取计数。

答案 3 :(得分:0)

根据documentation,正确答案为echo $result->num_rows;

答案 4 :(得分:0)

查看完整查询的编写方式会很有用,将其放在两个where子句中,然后用AND绑定它们:

           $this->db
           ->select ('*')
           ->from('table_name')
           ->where('table_name.column', cond1)
           ->where('table_name.column2', cond2);

$result = $this->db->get();
if ($result) {
//this means you have results, do something with them here
}

$count = $result->num_rows();

OR

$count = count($result->result());