我正在使用codeigniter活动记录尝试简单的SQL查询(MSSQL数据库 - 驱动程序sqlsrv),它在我的localhost上工作,但不在我的godaddy设置上工作!
即使很奇怪,如果我运行count_all_records它会返回精确的行数,但当我尝试获得'TOP 100'记录时,它会返回一个空数组。
SELECT COUNT(*) AS numrows FROM basic
返回TABLE'basic'中的行数,但
SELECT TOP 100 * FROM basic ORDER BY SSN
返回一个空数组(所有这些在localhost中运行正常 - 相同的配置)
计算行的活动记录查询:
$this->db->from("basic");
$count = $this->db->count_all_results();
获取TOP 100行的活动记录查询:
$limit = 100; $start = 0;
$sidx = 'SSN'; $sord = 'asc';
$this->db->from("basic");
$result = $this->db->order_by($sidx, $sord)->limit($limit, $start)->get()->result_array();
我已经检查过配置,登录/注册在应用程序上工作正常我正在工作但是这个特定的查询(在多个表上)无法返回任何数据!
由于某种原因,它返回一个空的CI_DB_sqlsrv_result对象
CI_DB_sqlsrv_result Object
(
[conn_id] => Resource id #2
[result_id] => Resource id #8
[result_array] => Array
(
)
[result_object] => Array
(
)
[custom_result_object] => Array
(
)
[current_row] => 0
[num_rows] => 100
[row_data] =>
)
任何想法我可能做错了什么!
答案 0 :(得分:1)
简单明了
$this->db->select('*');
$this->db->from('basic');
$this->db->order_by($sidx, $sord);
$this->db->limit($limit, $start);
$query = $this->db->get();
或者您可以使用方法链接,如下所示。
$this->db->select('*')->from('basic')->order_by($sidx, $sord)->limit($limit, $start);
$query = $this->db->get();
我认为问题在于你的方法链。
答案 1 :(得分:0)
您可以在sqlsrv_driver.php中修复函数_limit()以使用limit,在mysql中启动。 请阅读http://ahmad-firuze.blogspot.com/2013/05/codeigniter-sqlsrvdriverphp-function.html