遇到PHP错误严重性:通知消息:尝试获取非对象的属性

时间:2017-04-01 12:55:15

标签: php codeigniter codeigniter-2

我在codeigniter中遇到错误,我不知道如何解决这个问题。我的错误是: - 遇到PHP错误

严重性:注意

消息:尝试获取非对象的属性

文件名:views / umparam.php

行号:25

控制器代码:

public function edit($record_mpid)
    {
        $this->load->model('mparam');
        $record = $this->mparam->getAllRecords($record_mpid);
        $this->load->view('umparam',['record'=>$record]);
    }
}

型号代码:

public function getAllRecords($record_mpid)
        {
            $query = $this->db->get_where('mparam', array('mpid'=> $record_mpid));
            if ( $query->num_rows() > 0){
                return $query->row();
            }
        }
    }

查看代码:

<div class="form-group">
                    <label class="col-md-4 control-label" for="textinput">Parameter</label>
                    <div class="col-md-6">
                     <?php echo form_input(['name'=>'parameter','class'=>'form-control','placeholder'=>'Parameter','value'=>set_value('parameter', $record->parameter)]); ?> // line no 25

                    </div>
                     <div class="col-md-6">
                        <?php echo form_error('parameter'); ?>
                     </div>
                </div>

请帮忙。谢谢!!

1 个答案:

答案 0 :(得分:0)

在您的控制器功能

public function edit($record_mpid) {
   $this->load->model('mparam');
   $data['record'] = $this->mparam->getAllRecords($record_mpid);
   $this->load->view('umparam', $data);
}

然后在视图

<div class="form-group">
<label class="col-md-4 control-label" for="textinput">Parameter</label>
<div class="col-md-6">
<?php 
$att = array(
    'name' => 'field_name',
    'class' => 'form-control',
    'placeholder' => 'Enter something',
    'value' => set_value('field_name', $record->parameter)
);

echo form_input($att);
?>
</div>
<div class="col-md-6">
<?php echo form_error('field_name', '<p>', '</p>'); ?>
</div>
</div>

模型

public function getAllRecords($record_mpid) {
    $this->db->where('mpid', $record_mpid);
    $query = $this->db->get('mparam');

    if ($query->num_rows() > 0) {
        return $query->row(); // will return single item;    
    }

    return false;

}