php - CodeIgniter 事件记录与 MySQL 查询之间的差异

标签 php mysql codeigniter activerecord

当我使用 CodeIgniter 的事件记录运行此查询时:

    $user_name  = 'mememe';
    $test = $this->db->select('filename')
                        ->where('user', $user_name)
                        ->order_by('number','asc')
                        ->limit(4)
                        ->get('mytable')
                        ->row('filename');
    print_r($test); exit;

我在浏览器上得到了这个结果:

5f

但是当我在我的数据库管理器上运行相同的查询时:

SELECT `filename` FROM `mytable` WHERE `user` = 'mememe' ORDER BY `number` ASC LIMIT 4

我明白了(这实际上是正确的,也是我想要的):

5f
9f
10f
11f

为什么会这样?

最佳答案

来自 CI 文档

row()

This function returns a single result row. If your query has more than one row, it returns only the first row. The result is returned as an object.

Jusr 删除对row 方法的调用

 $test = $this->db->select('filename')
                    ->where('user', $user_name)
                    ->order_by('number','asc')
                    ->limit(4)
                    ->get('mytable');

关于php - CodeIgniter 事件记录与 MySQL 查询之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37776430/

相关文章:

php - 关于 session 的登录脚本中未在 php 中设置错误

php - Postgresql 更新唯一列并在更新前验证

PHP 即时上传到 blob

mysql - 选择不同的值,不包含在同一个表的列中

php - Codeigniter 将数据从模型传递到 Controller 解析器

php - mysql 查询不适用于 codeigniter

php - 多个查询还是可以一次完成?

php - 如何选择数据到数组字段?

mysql - 排列重复项并按顺序对记录进行编号 - MySQL

php - MySQL 到 Codeigniter Active Record 删除重复记录