Php 按id更新codeigniter中的DB行

Php 按id更新codeigniter中的DB行,php,codeigniter,Php,Codeigniter,我正在尝试使用ID更新DB中的一行。我意识到可以通过URI段进行更新,但变量$GET还有另一种方法。由于某种原因,它无法更新 另一个问题是,如果URI段不工作,为什么要执行它?示例代码:if($this->uri->segment(3))==false) 由于某种原因,这种情况不起作用。谢谢助理 模型: public function updata_user($data) { $this->db->where('id', $this->uri->segment(3))

我正在尝试使用ID更新DB中的一行。我意识到可以通过URI段进行更新,但变量$GET还有另一种方法。由于某种原因,它无法更新

另一个问题是,如果URI段不工作,为什么要执行它?示例代码:if($this->uri->segment(3))==false)

由于某种原因,这种情况不起作用。谢谢助理

模型:

public function updata_user($data) {

 $this->db->where('id', $this->uri->segment(3));
    $this->db->update('users', $data);



}

}
控制员:

public function save() {



    $data = array(
            'name' => $this->input->post('name'),
            'email' => $this->input->post('email'),
            'password' => $this->hash($this->input->post('password'),TRUE)


    );

    if ($this->uri->segment(3) === false) {

        $this->users_model->insert_user($data);
        redirect('users/index');


    }


    else {


        $result = $this->users_model->updata_user($data);

        if ($result) {


            redirect('users/index');


        }


    }



}
观点:

    <?php echo validation_errors(); ?>
<?php echo form_open('users/save'); ?>
<table class="table">
<tr>
    <td>Name</td>
    <td><?php echo form_input('name', set_value('name', $user->name)); ?></td>
</tr>
<tr>
    <td>Email</td>
    <td><?php echo form_input('email', set_value('email', $user->email)); ?></td>
</tr>
    <tr>
    <td>Email</td>
    <td><?php echo form_input('id', set_value('id', $user->id)); ?></td>
</tr>
<tr>
    <td>Password</td>
    <td><?php echo form_password('password'); ?></td>
</tr>
<tr>
    <td>Confirm password</td>
    <td><?php echo form_password('password_confirm'); ?></td>
</tr>
<tr>


    <td></td>
    <td><?php echo form_submit('submit', 'Save', 'class="btn btn-primary"'); ?></td>
</tr>
</table>
<?php echo form_close();?>

名称
电子邮件
电子邮件
密码
确认密码

您可以将id放入隐藏输入中,并使用$this->input->post('id')在模型中使用它

看法


您可以使用get或post方法发送id数据,也可以将uri段作为参数函数save($id){}传递
<tr>
<td>id</td>
<td><?php echo form_hidden('id',$user->id); ?></td>
</tr>
    public function updata_user($data) 
    {
    $this->db->where('id', $this->input->post('id'));
    $this->db->update('users', $data);

    }