PHP错误,未定义的索引错误

时间:2015-06-08 16:25:14

标签: php codeigniter

在我的codeigniter项目中,我在我的模型中有这个功能

function get_rtc_info($id)
    {
        $query = $this->db->get_where('rtc_info', array('id' => $id));
        $query = $query->row_array();   
        $query = $query['id'].', '.$query['name'].', '.$query['address'];  //line# 313 
        return $query;
    }

运行代码时出现以下错误/警告

  

遇到PHP错误   严重性:通知
  消息:未定义的索引:id,名称和地址
  文件名:models / form_model.php
  第313号行

我不知道为什么我会得到这个未定义的索引警告。有人可以指导我这个错误以及如何解决它。提前谢谢

1 个答案:

答案 0 :(得分:1)

您的表rtc_info中没有行。这就是你在看这种通知的原因。如果您愿意,请不要显示此通知,请在使用

之前使用isset()检查您的变量
function get_rtc_info($id)
{
    $query = $this->db->get_where('rtc_info',array('id' => $id));
    $query = $query->row_array(); 

    if(isset($query['id']) && isset($query['name']) && isset($query['address'])) {
     $query = $query['id'].', '.$query['name'].', '.$query['address'];  //line# 313 
     return $query;
}else{
   return 'no data';
  }
}

如果这3个字段是可选的,您可以使用以下而不用阻止

function get_rtc_info($id)
{
    $query = $this->db->get_where('rtc_info',array('id' => $id));
    $query = $query->row_array(); 

    if(isset($query['id'])){
        $row_id = $query['id'];
     }else{
        $row_id = 'no id';
     }

     if(isset($query['name'])){
        $name = $query['name'];
     }else{
        $name = 'no name';
     }

     if(isset($query['address'])){
        $address= $query['address'];
     }else{
        $address = 'no address';
     }

     $query = $row_id.', '.$name.', '.$address;  //line# 313 
     return $query;
}

希望现在明确