我有兩個表,一個是'student',另一個是'status'。學生表有一個外鍵status_status_id。我想更新這個status_status_field。在我看來,所有狀態(初中,高中,新生,二年級)都顯示在下拉菜單中。使用Codeigniter更新數據庫表中的字段
我想通過從該下拉列表中獲取輸入來更新學生表的status_status_id(最初具有值0)字段。爲了更新,我還需要一個特定學生的ID。問題是該字段的status_status_id沒有更新。下面的錯誤是,列明
A Database Error Occurred
Error Number: 1054
Unknown column 'Array' in 'where clause'
UPDATE `student` SET `0` = '' WHERE `id` = Array
Filename: Z:\www\CI\system\database\DB_driver.php
Line Number: 330
我控制器
function update(){
$id=$this->input->post('id');
$data=array(
'status_status_id'=>$this->input->post('status_status_id'),
);
$this->status_model->update($data, $id);
}
}
我的模型
function update($data,$id){
$this->db->where('id', $id);
$this->db->update('student', $data);
}
}
查看添加狀態
<?php echo form_open('status_controller/update');
$r=$info[0]->id;
$data=array (
'id'=>$r,
'status_status_id'=>set_value('status_status_id')
);
?>
<p><?php echo form_input($data); ?>
<p><select name ='status_status_id'>
<?php echo form_error('status_status_id'); ?>
<br /><?php
$getType = mysql_query("SELECT status_id, status FROM status ORDER BY status_id");
while($type = mysql_fetch_object($getType)){
echo "<option value=\"{$type->status_id}\">{$type->status} </option>",set_value('status_status_id');
} ?></p><p><?php echo form_submit('submit', 'Update Status'); ?></p><?php echo form_close(); ?>
哪條線#41在你的控制器? –
奇怪的是我在第41行沒有任何東西。控制器在第39行結束。第41行沒有任何內容。我不知道發生了什麼。 – tan
問題解決了。我重新啓動我的電腦,錯誤消失了:D ..但現在問題是status_status_id字段不更新在學生表中。 – tan