如何编写codeigniter应用程序中所有更新操作常用的单一更新方法?

时间:2017-02-13 05:02:31

标签: php model codeigniter-3

我正在编写更新方法来更新表,我也想将这种更新方法用于所有更新操作。我正在传递表名,数据更新&条件但它不能正常工作。以下是我的代码:

My_controller.php

$data = array(
                'column-1' => $this->input->post('form_name1'),
                'column-2' => $this->input->post('form_name2'),
                'column-3' => $this->input->post('form_name3'),
                'column-4' => $this->input->post('form_name4')
            );
$result = $this->my_model->common_update('my_table_name',$data,$user_id ); 
if($result)
{
  $this->session->mark_as_flash('message');
  $this->session->set_flashdata('message', 'table updated.');
  redirect(base_url().'index.php/my_page');
}
else{
  $this->session->mark_as_flash('message');
  $this->session->set_flashdata('message', "Table doesn't Updated.");
  $this->load->view('template', $data);
}

My_model.php

public function common_update( $table, $data = array(), $where )
{
    $this->db->where('id', $where);
    $query = $this->db->update($table,$data);
    return $this->db->affected_rows() == 1 ? true : false ;
}

我的数据库表结构:表名 - " my_table_name"

Name      Type  
id        int(10)     AUTO_INCREMENT primary_key
column-1  varchar(20)
column-2  varchar(20)
column-3  varchar(20)
column-4  varchar(20)

任何人都可以帮我解决这个问题吗?感谢。

1 个答案:

答案 0 :(得分:0)

更新。 $ this代表查询......并在查询之前调用它

public function common_update( $table, $data = array(), $where )
{
    $this->db->where('id', $where);
    $query = $this->db->update($table,$data);
    return $this->db->affected_rows() == 1 ? true : false ;
}

public function common_update( $table, $data = array(), $where )
{

    $query = $this->db->update($table,$data);
             $this->db->where('id', $where);
    return $this->db->affected_rows() == 1 ? true : false ;
}

问候:)