php - $this->db->query() 什么都不返回 CodeIgniter

标签 php mysql codeigniter codeigniter-2

我正在尝试使用 codeigniter 执行以下查询,但它没有提供任何内容/null 作为返回值,

带有查询的代码:

public function getNumbersByComplainId($cid){
        $qur = $this->db->query("
            SET @sk := (SELECT app_users.skeeper_phone as sphone FROM app_users WHERE app_users. app_user_type = 'SKEEPER' LIMIT 1);
            SELECT 
            acs.id as complainId,
            IF(
                (@sk) > 0,
                @sk,
                ''
            ) as sk_phone,
            (
                SELECT 
                IF(
                    auu.institute_phone IS NULL,
                    auu.department_phone,
                    auu.institute_phone
                ) as cphone
                FROM app_users as auu
                WHERE auu.id = acs.app_customer_id
                LIMIT 1
            ) as cphone,
            (
                SELECT auuu.other_user_phone as ephone
                FROM app_users as auuu,app_admin_assign_eng as aase
                WHERE aase.app_complain_service_id = acs.id AND auuu.id = aase.engineer_id
                LIMIT 1
            ) as ephone,
            (
                SELECT auuu.fullname as ename
                FROM app_users as auuu,app_admin_assign_eng as aase
                WHERE aase.app_complain_service_id = acs.id AND auuu.id = aase.engineer_id
                LIMIT 1
            ) as ename,
            (
                SELECT auuu.other_user_phone as ephone
                FROM app_users as auuu,app_admin_assign_eng as aase
                WHERE aase.app_complain_service_id = acs.id AND auuu.id = aase.admin_id
                LIMIT 1
            ) as aphone
            FROM app_complain_services as acs,app_users as au
            WHERE 
            acs.id = '".$cid."'
            GROUP BY acs.id
            ");

        print_r($qur);
        //print_r($this->db->last_query());

        if($qur && $qur->num_rows() > 0){
            return $qur->result();
        }else{
            return null;
        }
    }

函数正在返回 null ,并且 $qur 变量可能是 null

个人尝试:

  • 使用 print_r($this->db->last_query()) 检查,返回有效的 sql 查询,我在 phpmyadmin 上运行正常。

最佳答案

尝试这些条件它工作

 if ($quer->num_rows() > 0) {
        foreach ($quer->result() as $row) {
            $data[] = $row;
        }
        return $data;
    }
    return false;

这可能对你有帮助

关于php - $this->db->query() 什么都不返回 CodeIgniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40810543/

相关文章:

php - 设置默认 View 值标志时 Magento 的行为很奇怪

php - 获取从数据库 codeigniter 中检查的复选框值

php - 解决 Zend Date DST 错误

php - MySQL - 如何根据另一个表中的列进行排序

php - 使用 PHP 检查 SQL 行是否存在

mysql - 给出所有不教数学的老师的名字

javascript - 使用 javascript/jquery 进行 CodeIgniter 验证

mysql - 仅提取查询 CodeIgniter 中的月份

php - 如果产品有条码并且所有产品都没有条码,则按产品条码进行分组的SQL查询

php - Codeigniter 中生成的奇怪查询