【发布时间】:2011-08-20 16:07:09
【问题描述】:
我有两张表,一张是“学生”,另一张是“状态”。学生表有一个外键 status_status_id。我想更新这个 status_status_field。在我看来,状态中的所有状态(初级、高级、新生、大二)都显示在下拉菜单中。
我想通过从此下拉列表中获取输入来更新学生表的 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 行没有任何东西。我不知道发生了什么。
-
问题解决了。我重新启动了我的电脑,错误消失了:D..但现在的问题是学生表中的 status_status_id 字段没有更新。
标签: php codeigniter