【发布时间】:2014-01-22 07:44:29
【问题描述】:
我正在尝试使用 codeigniter 活动记录进行简单的 SQL 查询(MSSQL 数据库 - 驱动程序 sqlsrv),它在我的本地主机上正常工作,但在我的 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] =>
)
任何想法我可能做错了什么!
【问题讨论】:
-
好吧,我找到了解决方案,虽然它与编程没有任何关系,就像我提到它在我的本地主机上完美运行,我也在另一个在线 Windows 服务器上尝试过,godaddy 家伙告诉我的表太大了,查询花费了更多时间(即使我拉了 10-20 行!)而且他们无能为力,所以我将我的代码切换到 rackspace 就可以了,一切正常!所以如果你有类似的问题并且你正在使用godaddy,找另一个服务器,不是你的代码让你毛骨悚然,而是godaddy!
标签: php sql sql-server codeigniter