CodeIgniter更新错误?

时间:2014-03-13 04:07:43

标签: codeigniter

我在更新时遇到问题是我的观点:

foreach($attributes as $dataIndex ){
         $firstName = $dataIndex['first_name'];     
         $f = array(
        'name' => 'update_fname',
        'value' => $firstName
    );

  echo "<fieldset><label>First Name:</label></br>".form_input($f)."</br>";
  echo form_open(base_url()."index.php/home/save_update");
  echo "<label>".form_submit('save_updates','Save')."</label>";      

这里我已经在文本字段中显示了从我的数据库中获取的特定属性,但我想要做的是将更改的项目保存在文本字段中并将其保存到具有特定ID的数据库中。

这是我的控制器以及get属性:

public function get_attributes($ patientID){

    if($patientID=== null){
       return;
}
  $data['attributes'] = $this>patient_manager>get_attributes($patientID);
  $this->load->view("edit_patient_view", $data);    

}

public function save_update(){

if($this->input->post("save_updates") === false){
   return;
    }else{
$update = array( 'first_name' => $this->input->post('update_fname', true));
$this->patient_manager->save_attributes_by_id($update); 
    }

}这是为了保存

这是我的模特:

public function get_attributes($ patientID){

    $this->db->select('first_name, mid_name, 
    last_name, age, gender, b_day, marital_status, address, contact_num,
    occupation, medical_record');

    $this->db->from('patients');
    $this->db->where('patient_id', $patientID);
    return $this->db->get()->result_array();            
}

public function save_attributes_by_id($patientID, $update){

$this->db->where('patient_id', $patientID)
              ->update('patients', $update, $patientID);
}

我遇到了这个错误:

遇到PHP错误

严重性:注意

消息:数组到字符串转换

文件名:database / DB_active_rec.php

行号:427

发生数据库错误

错误号码:1054

'where子句'中的未知列'Array'

UPDATE patients SET first_name = 0 WHERE patient_id =数组

文件名:C:\ xampp \ htdocs \ system \ database \ DB_driver.php

行号:330 我认为系统无法从我的数据库中获取patient_id。 请事先帮我说。

1 个答案:

答案 0 :(得分:0)

试试这个 将数组设为

$f = array(
            'update_fname' => $firstName);

在这样的单个更新数组中,我们也可以使用批量更新

浏览此链接

http://ellislab.com/codeigniter/user-guide/database/active_record.html#update