Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter:查询返回空值_Php_Mysql_Codeigniter - Fatal编程技术网

Php Codeigniter:查询返回空值

Php Codeigniter:查询返回空值,php,mysql,codeigniter,Php,Mysql,Codeigniter,您好,我正在尝试检查我的查询是否成功,但它返回的是空值索引,这似乎表明查询成功。如何在示例查询中检查查询是否成功,因为我认为它不应返回空索引 模型 控制器 $data['class_info'] = $this->staff_model->classmanage_classinfo($section_id); 看法 全模型 public function classmanage_classinfo($section_id) { $query = $this->

您好,我正在尝试检查我的查询是否成功,但它返回的是空值索引,这似乎表明查询成功。如何在示例查询中检查查询是否成功,因为我认为它不应返回空索引

模型

控制器

$data['class_info'] = $this->staff_model->classmanage_classinfo($section_id);
看法

全模型

public function classmanage_classinfo($section_id) {
        $query = $this->db->select('students.user_id, students.studentnumber, 
            students.lastname, students.firstname, students.middlename, students.level, students.year')->from('sections')
        ->join('student_section', 'student_section.section_id = sections.section_id', 'left')
        ->join('students', 'students.user_id = student_section.student_id', 'left')
        ->where('sections.section_id', $section_id)
        ->get();

        if ($query->num_rows() > 0) {
            return $query->result();
        } else {
            return false;
        }
    }

    public function classmanage_sectioninfo($section_id) {
        //section_name
        $query = $this->db->select('section_name')->where('section_id', $section_id)->get('sections');

        return $query->row();

    }

我假设您的查询返回许多行,而不是一行

 $query = $this->db->select('students.user_id, students.studentnumber, 
            students.lastname, students.firstname, students.middlename, students.level, students.year')->from('sections')
        ->join('student_section', 'student_section.section_id = sections.section_id', 'left')
        ->join('students', 'students.user_id = student_section.student_id', 'left')
        ->where('sections.section_id', $section_id)
        ->get()->result();



if (!empty($query)) {
    return $query->result();
} else {
    return false;
}

echo$this->db->last_query();出口这将打印最后执行的查询,在phpmyadminI上尝试,编辑我文章中的信息。我做的最后一个查询是
classmanage\u sectioninfo
记录存在,即使所有值都为空。可能不应该让“user\u id”列允许空值。这是您真正想要的。如果您的查询没有检索到数据否,则即使记录不存在,它仍以null形式检索数据。如果记录不存在,它应该触发
返回false
。这是正确的,
num->rows()
也应该是可能的,我还发现我应该在查询中使用内部联接,请参见此处
$data['class_info'] = $this->staff_model->classmanage_classinfo($section_id);//determinant if query is null is in the model
            $data['section_info'] = $this->staff_model->classmanage_sectioninfo($section_id);
public function classmanage_classinfo($section_id) {
        $query = $this->db->select('students.user_id, students.studentnumber, 
            students.lastname, students.firstname, students.middlename, students.level, students.year')->from('sections')
        ->join('student_section', 'student_section.section_id = sections.section_id', 'left')
        ->join('students', 'students.user_id = student_section.student_id', 'left')
        ->where('sections.section_id', $section_id)
        ->get();

        if ($query->num_rows() > 0) {
            return $query->result();
        } else {
            return false;
        }
    }

    public function classmanage_sectioninfo($section_id) {
        //section_name
        $query = $this->db->select('section_name')->where('section_id', $section_id)->get('sections');

        return $query->row();

    }
 $query = $this->db->select('students.user_id, students.studentnumber, 
            students.lastname, students.firstname, students.middlename, students.level, students.year')->from('sections')
        ->join('student_section', 'student_section.section_id = sections.section_id', 'left')
        ->join('students', 'students.user_id = student_section.student_id', 'left')
        ->where('sections.section_id', $section_id)
        ->get()->result();



if (!empty($query)) {
    return $query->result();
} else {
    return false;
}