首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CodeIgniter 3.1.7 unbuffered_row()返回NULL但row()工作

CodeIgniter 3.1.7 unbuffered_row()返回NULL但row()工作
EN

Stack Overflow用户
提问于 2018-03-10 17:57:09
回答 1查看 642关注 0票数 0

我试图从查询结果中输出CSV。dbutil->csv_from_result()应该可以工作,但它只返回列标题。不包括任何数据。

我追踪到了system/database/DB_utility.php,它使用unbuffered_row()

unbuffered_row()的任何调用都返回NULL。如果我将其更改为row(),就会得到一个结果。如果我使用unbuffered_row('array')unbuffered_row('object'),没有什么区别。

为什么row() unbuffered_row() 不工作,而unbuffered_row()却不工作?

这是CI中的一个bug,还是我遗漏了什么?

编辑:row('array')似乎也不起作用。

编辑:似乎调用$query->result()破坏了dbutil->csv_from_result($query)。显然,您不能遍历查询结果,然后将结果保存在CSV文件中。这在CI 2中是可能的。

有没有办法显示查询结果和保存CSV而不运行两次查询?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-12 17:14:37

我也遇到过类似的问题,发现:

我有一个疑问:

代码语言:javascript
运行
复制
$query = $this->db->query("SELECT * FROM tablename");
print_r($query);

然后我得到了这个,unbuffered_row工作得很好:

代码语言:javascript
运行
复制
CI_DB_oci8_result Object
(
    [stmt_id] => Resource id #106
    [curs_id] => 
    [limit_used] => 
    [commit_mode] => 32
    [conn_id] => Resource id #91
    [result_id] => 1
    [result_array] => Array
        (
        )

    [result_object] => Array
        (
        )

    [custom_result_object] => Array
        (
        )

    [current_row] => 0
    [num_rows] => 
    [row_data] => 
)

但是,如果在获得不同的$query->num_rows()对象之前调用CI_DB_oci8_result,而unbuffered_row没有工作,则返回null

代码语言:javascript
运行
复制
$query = $this->db->query("SELECT * FROM tablename");
echo $query->num_rows();
print_r($query);

希望这能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49212236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档