Codeigniter 查询没有给出正确的答案

Posted

技术标签:

【中文标题】Codeigniter 查询没有给出正确的答案【英文标题】:Codeigniter Query Doesnot Give Proper Answer 【发布时间】:2019-03-07 16:55:13 【问题描述】:

我有一个正在开发的网络项目。我想通过具有条件从数据库中选择数据。但问题是 CodeIgniter 并没有给我实际预期的结果。作为参考,我在下面分享代码。

第一次查询

$this->db->select('serial, wardno, COUNT(serial) as total');
    $this->db->where('status','active');
    $this->db->group_by('wardno');
    $data['wards'] = $this->db->get('certi_charter_inherit')->result_object();

第一个查询给不给我目标结果。它会产生结果。

[wards] => Array
    (
        [0] => stdClass Object
            (
                [serial] => 6
                [wardno] => 2
                [total] => 2
            )

    )

这不是我的期望。但是如果我使用另一个直接查询,那么它就可以清楚地工作。

第二次查询

$data['wards'] = $this->db->query("SELECT serial, wardno, COUNT(serial) as 'total' from certi_trade WHERE status='active' GROUP by wardno")->result_object();

[wards] => Array
        (
            [0] => stdClass Object
                (
                    [serial] => 3
                    [wardno] => 1
                    [total] => 2
                )

            [1] => stdClass Object
                (
                    [serial] => 6
                    [wardno] => 2
                    [total] => 1
                )

        )

第二个查询生成如下结果。这是正确的。我已经测试了我的 phpmyadmin 控制台。所以我很困惑应该使用哪一个。我喜欢第一个。

非常感谢任何帮助。

【问题讨论】:

您从两个不同的表中进行选择,因此结果并不意外。 【参考方案1】:

请根据您的第二次查询在此处更改您的表名: $data['wards'] = $this->db->get('certi_trade')->result_object();

【讨论】:

以上是关于Codeigniter 查询没有给出正确的答案的主要内容,如果未能解决你的问题,请参考以下文章

MDX 查询未给出正确答案

在codeigniter中逃避足够的防止sql注入的保护

CodeIgniter 中的活动数据库是啥? [关闭]

Codeigniter 中的 Oracle 查询给出 ORA-01722 和 ORA-01756

CONCAT sql 查询需要正确的格式。 Codeigniter 活动记录

Codeigniter 未显示 MySQL 查询获取的数组的正确结果。