0

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

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

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

这里假设只有一行满足 cond1 和 cond2。

4

5 回答 5

1
if($result->num_rows()>0){
    //One or more rows satisfies the condition
}else {
    //Zero rows satisfies the condition
}
于 2013-07-25T09:46:01.127 回答
0

根据文档,正确答案是echo $result->num_rows;

于 2013-07-25T09:39:02.977 回答
0

你在找这个吗?

$result ->num_rows();
于 2013-07-25T09:32:34.457 回答
0

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

那么您需要从返回行的第一列中提取计数。

于 2013-07-25T09:37:15.067 回答
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());
于 2013-07-25T21:40:03.177 回答