このエラーが何度も発生する理由を認識できません。 基本的に私は学生のデータを編集しようとしています
次のファイルを使用しています。
コントローラー - 学生
表示 - students_edit
モデル - codegen_model
私のコントローラーは次のとおりです。
function edit(){
$this->load->library('form_validation'); $this->data['custom_error'] = '';if ($this->form_validation->run('students') == false) { $this->data['custom_error'] = (validation_errors() ? '<div class="form_error">'.validation_errors().'</div>' : false); } else { $data = array( 'username' => $this->input->post('username'), 'password' => $this->input->post('password'), 'phone' => $this->input->post('phone'), 'email' => $this->input->post('email'), ); if ($this->codegen_model->edit('students',$data,'id',$this->input->post('id'))== TRUE) { redirect(base_url().'index.php/students/manage/'); } else { $this->data['custom_error'] = '<div class="form_error"><p>An Error Occured</p></div>'; } } $this->data['result'] = $this->codegen_model->get('students', 'id,username,password,phone,email', 'id = '.$this->uri->segment(3),NULL,NULL,true); $this->load->view('students_edit', $this->data); }
ビューは次のとおりです。
<?php
echo form_open(current_url()); ?>
<?php echo $custom_error; ?>
<?php echo form_hidden('id',$result->id) ?>
<p>
<input id="username" type="text" name="username" value="<?php echo $result->username ?>" />
<?php echo form_error('username','<div>','</div>'); ?>
</p>
<p>
<input id="password" type="password" name="password" value="<?php echo $result->password ?>" />
<?php echo form_error('password','<div>','</div>'); ?>
</p>
<p> <input id="phone" type="text" name="phone" value="<?php echo $result->phone ?>" />
<?php echo form_error('phone','<div>','</div>'); ?>
</p>
<p>
<input id="email" type="text" name="email" value="<?php echo $result->email ?>" />
<?php echo form_error('email','<div>','</div>'); ?>
</p>
<?php echo form_submit( 'submit', 'Submit'); ?>
</p>
<?php echo form_close(); ?>
Codegen_model は次のとおりです。
function get($table,$fields,$where='',$perpage=0,$start=0,$one=false,$array='array'){
$this->db->select($fields);
$this->db->from($table);
$this->db->limit($perpage,$start);
if($where){
$this->db->where($where);
}
$query = $this->db->get();
$result = !$one ? $query->result($array) : $query->row() ;
return $result;
}
ビュー student_edit を読み込もうとすると、次のエラーが発生します。
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: views/students_edit.php
Line Number: 5
他の例で試してみたところresult->id
、問題なく動作していましたが、ここではエラーの場所を特定できません。
どんな解決策も大いに役立ちます。前もって感謝します。NC
答え :
コードは正常に動作しているように見えましたが、唯一の問題はクエリにあり、@Rick が言ったことは正しかったです。