我正在执行CodeIgniter语句,使用以下查询从表中选择一行:
$result = $this->db->query('select * from table_name where cond1 and cond2);
但我怎么知道是否选择了任何行。我使用count($ result)来确定所选的行数。但是在两种情况下都返回1,即当一行满足条件并且没有行不满足条件时。所以我问是否有办法检查。谢谢。
这里假设只有一行存在令人满意的cond1和cond2。
答案 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());