php - num_rows() 函数不适用于 codeigniter 中的 MSSQL

标签 php mysql sql-server codeigniter

我正在将 codeigniter 与 MSSQL 数据库一起使用。为了从查询中获取大量记录,我使用$query->num_rows()。但它不起作用。如果我使用 MYSQL DB 那么它工作正常。我的代码是 -

function getCountry(){

        $this->db->distinct();
        $this->db->select('CM_CHANNEL_TELCAS_DETAIL.CTD_CNTRY_CODE as CNTRY_CODE, CM_COUNTRY.CC_CNTRY_NAME as CNTRY_NAME');
        $this->db->from('CM_CHANNEL_TELCAS_DETAIL');
        $this->db->join('CM_COUNTRY','CM_CHANNEL_TELCAS_DETAIL.CTD_CNTRY_CODE = CM_COUNTRY.CC_CNTRY_CODE','inner');

        $query = $this->db->get();

        if($query -> num_rows() > 0){    
        return $query->result();
        }else{
          return false;
        }
}

如果我像这样编写上面的代码,那么它会给出结果 -

function getCountry(){

        $this->db->distinct();
        $this->db->select('CM_CHANNEL_TELCAS_DETAIL.CTD_CNTRY_CODE as CNTRY_CODE, CM_COUNTRY.CC_CNTRY_NAME as CNTRY_NAME');
        $this->db->from('CM_CHANNEL_TELCAS_DETAIL');
        $this->db->join('CM_COUNTRY','CM_CHANNEL_TELCAS_DETAIL.CTD_CNTRY_CODE = CM_COUNTRY.CC_CNTRY_CODE','inner');

        $query = $this->db->get();

        return $query->result();
}

我尝试回显 $query->num_rows() 值。但它没有给出任何值(value)。 请帮我解决这个问题。

提前致谢。

最佳答案

尝试使用其他方法$this->db->count_all_results()

if($this->db->count_all_results() >0)
  {    
    return $query->result();
  }
  else
  {
      return false;
  }

关于php - num_rows() 函数不适用于 codeigniter 中的 MSSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36569534/

相关文章:

java - 在哪里运行复杂的算法?服务器端还是客户端?

mysql - 同一个表中两条记录的日期差异

mysql - SQL中的关键字和子句有什么区别?

php - 在 MySQl 中查找垂直行分隔值中的行?

php - 为什么我们在 php 中使用 mysqli_poll() 函数?

mysql - 如何防止在 ALTER 不相关表期间整个服务器被锁定?

.net - 在多个数据库上实现事务

sql-server - 此后,在SQL Server分析 session 中,将已编译的准备好的语句与exec进行协调

php - 时段预约系统

php - 在 C++ 中调用单独的可执行文件?