我无法识别为什么这个错误会一次又一次地出现。 基本上我正在尝试编辑学生的数据
我正在使用以下文件:
控制器 - 学生
查看 - students_edit
模型 - codegen_model
我的控制器如下:
函数编辑(){
$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
其他示例时,它工作正常,但在这里我无法弄清楚错误在哪里。
任何解决方案都会有很大帮助。提前致谢。数控
回答 :
代码似乎工作正常,但唯一的问题在于查询,@Rick 说的是对的。