我在使用Codeigniter框架更新記錄時遇到了一些問題。我正在使用MVC模式和活動記錄。Codeigniter更新記錄不會保存在數據庫中
該代碼用於更新用戶配置文件。
沒有錯誤,但它不會保存到我的數據庫。可能的解決方案是什麼?
模型(model_users.php)
public function profile_update()
{
$user_profile = $this->db->get('ij_users');
if($user_profile) {
$row = $user_profile->row();
$data = array(
'user_fname' => $row->user_fname,
'user_lname' => $row->user_lname,
'user_pass' => $row->user_pass,
'user_company' => $row->user_company
);
$user_update = $this->db->update('ij_users', $data);
}
if($user_update) {
return true;
}
return false;
}
控制器(members.php)
public function validate()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('user_fname', 'First name', 'trim|xss_clean');
$this->form_validation->set_rules('user_lname', 'Last name', 'trim|xss_clean');
$this->form_validation->set_rules('user_pass', 'Password', 'required|trim|xss_clean');
$this->form_validation->set_rules('user_re_pass', 'Re-type Password', 'required|trim|xss_clean|matches[user_pass]');
$this->form_validation->set_rules('user_company', 'Company name', 'trim|xss_clean');
if($this->form_validation->run()) {
$this->load->model('model_users');
if($this->model_users->profile_update()) {
//update database
//show successfull message
echo "Successfully saved!";
} else {
//show error updating message
echo "Problem adding to database 2.";
}
} else {
//show error message
echo "Problem adding to database.";
}
}
視圖(profile.php)
<div class="form-signin">
<?php echo form_open('members/validate'); ?>
<?php
echo '<div class="alert alert-error"><button type="button" class="close" data-dismiss="alert">×</button><h5>All fields are required!</h5>';
echo validation_errors();
echo '</div>';
echo "<p><strong>Email address </strong></p>";
echo form_input('user_email', $this->input->post('user_email'), 'disabled');
echo "<p><strong>First name</strong></p>";
echo form_input('user_fname', $this->input->post('user_fname'));
echo "<p><strong>Last name</strong></p>";
echo form_input('user_lname', $this->input->post('user_lname'));
echo "<p><strong>Password </strong></p>";
echo form_password('user_pass');
echo "<p><strong>Re-type password </strong></p>";
echo form_password('user_re_pass');
echo "<p><strong>Company name</strong></p>";
echo form_input('user_company', $this->input->post('user_company'));
echo "<p>";
echo form_submit('save_submit', 'Save changes', 'class="btn btn-primary"');
?>
<a href="<?php echo base_url() . "members" ?>" class="btn btn-link btn-small">Cancel</a>
<?php
echo "</p>";
echo form_close();
?>
從這裏看來你保存了以前的相同數據,所以你怎麼知道它沒有保存?你會得到你添加的任何消息嗎?另外我不確定你可以使用'update'的返回值來知道操作的結果:參見[this](http://stackoverflow.com/q/8149595/1205368)示例。 – Salem 2013-05-11 10:23:19
@Salem是的。我收到了「成功保存!」的消息但是當我看着我的數據庫時,表格仍然沒有更新。 – AmirolAhmad 2013-05-11 11:06:25