我想更新图像时遇到问题。
更新过程进行得很好,但是图像无法更新。
请帮忙。谢谢。
这里是View:
<?php echo form_open('update'); ?>
<input type="hidden" name="id" value="<?php echo $data->id; ?>">
<input type="hidden" id="old" name="old" value="<?php echo $data->image;?>">
<div class="form-group">
<label>Name</label>
<input type="text" class="form-control" name="name" value="<?php echo $data->name; ?>">
</div>
<div class="form-group">
<label>Change Image</label>
<input class="form-control" type="file" name="image">
</div>
<button type="submit" class="btn btn-default">Submit</button>
这里是控制器:
public function Update(){
$id = $this->input->post('id');
$name = $this->input->post('name');
if($_FILES['image']['name']!=""){
$config['upload_path'] = './image/';
$config['allowed_types'] ='gif|jpg|png|jpeg|';
$this->load->library('upload', $config);
if(!$this->upload->do_upload('image')){
$error = array('error' => $this->upload->display_errors());
}else{
$upload_data=$this->upload->data();
$image_name =$upload_data['file_name'];
}
}else{
$image_name=$this->input->post('old');
}
$data = array( 'name' => $name, 'image' => $image_name, );
$ this-> model_user-> update_user($ data,$ id); }
这里是模型:
public function update_user($data, $id)
{
$this->db->where('id', $id);
$this->db->update('tabel_user', $data);
return TRUE;
}
答案 0 :(得分:0)
您编写的代码没有任何错误。但是您使用了一些不需要的输入。 尝试调试您的代码。 在模型中 返回之前
public function update_user($data, $id)
{
$this->db->where('id', $id);
$this->db->update('tabel_user', $data);
echo $this->db->last_query();
echo "</br> id : ".$id;
print_r($data); EXIT;
}
如果您得到查询打印。检查您错过了什么。如果你不
在控制器
在$error = array('error' => $this->upload->display_errors());
行之后
把print_r($ error);退出;
也许您已经忘记提及您的观点了。
做这三件事希望您会发现问题所在。
答案 1 :(得分:0)
首先,检查列名是否与数组键值相同
试试这些,
public function update_user($data, $id)
{
echo'<pre>';print_r($data);
$this->db->where('id', $id);
$flag = $this->db->update('tabel_user', $data);
echo $flag;die;
}
$ flag会告诉您是对还是错