【问题标题】:Query gives error: Trying to get property of non-object查询给出错误:试图获取非对象的属性
【发布时间】:2015-12-08 07:43:11
【问题描述】:

我收到此错误:

Trying to get property of non-object

当我尝试使用 CodeIgniter 搜索学生证时。

这是我的控制器代码:

public function get_stud_info($id = "")
{
    $stud_info = $this->m_stud_info->get_by_ID($id);

    $data['IDno'] = $stud_info->IDno;
    $data['LName'] = $stud_info->LName;
    $data['FName'] = $stud_info->FName;
    $data['Course'] = $stud_info->Course;
    $data['Year'] = $stud_info->Year;
    $data['Club_num'] = $stud_info->Club_num;

    $this->load->view('view_stud_info', $data);
}

这是我的型号代码:

public function get_by_ID($ID)
{
    $query = $this->db->where('IDno', $ID)->limit(1)->get('stud_info');

    if($query->num_rows() > 0)
    {
        return $query->row();
    }
    else
    {
        return array();
    }
}

这是我的视图代码:

<?php
    echo "IDNo: $IDno <br/>" ;
    echo "LName: $LName <br/>" ;
    echo "FName: $FName <br/>" ;
    echo "Course: $Course <br/>" ;
    echo "Year: $Year <br/>" ;
    echo "Club_num: $Club_num <br/>" ;
?>

【问题讨论】:

    标签: php html codeigniter


    【解决方案1】:

    当模型为你返回空数组时会出现错误,所以在你访问它之前检查模型是否返回任何值。

    $stud_info = $this->m_stud_info->get_by_ID($id);
    if($stud_info) {
        $data['IDno'] = $stud_info->IDno;
        $data['LName'] = $stud_info->LName;
        $data['FName'] = $stud_info->FName;
        $data['Course'] = $stud_info->Course;
        $data['Year'] = $stud_info->Year;
        $data['Club_num'] = $stud_info->Club_num;
    } else {
        // assign all values to null here
        $data['IDno'] = "";
        ...
    }
    

    【讨论】:

    • IDNo: LName: FName: Course: Year: Club_num:
    • 是的,它的工作,但不搜索学生..它返回给我一个空
    • 数据库中有数据吗??
    【解决方案2】:

    这个怎么样,我想对你来说会更简单更容易。

    $stud_info = $this->m_stud_info->get_by_ID($id);
    if($stud_info) {
    $data['IDno'] = isset($stud_info->IDno) ? $stud_info->IDno : '';
    ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-21
      • 2016-12-23
      • 2018-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-08
      • 2016-06-13
      相关资源
      最近更新 更多