**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。
这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
8个月前关闭。
Improve this question
我的CodeIgniter项目有问题。我上传的图片只添加到文件夹中,而不是数据库中。数据库中的列名是“user_image”。
这是我的控制器:
public function upload() {
if(!$this->session->userdata('logged_in')) {
redirect('users/login');
}
$data['title'] = "file Upload";
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 500;
$this->load->library('upload', $config);
$data['error'] = "";
if ( ! $this->upload->do_upload('userfile'))
{
if(isset($_FILES['userfile'])){
$data['error'] = $this->upload->display_errors();
}
$this->load->view('templates/header');
$this->load->view('users/upload', $data);
$this->load->view('templates/footer');
}
else
{
$user_id = $this->session->userdata('id');
$uploaddata = $this->upload->data();
$filename = $uploaddata['file_name'];
$userdata = array(
'user_image' => $filename
);
$this->user_model->update($user_id, $userdata);
$this->session->set_flashdata('message', "Upload Succesfully");
redirect('dashboard/index');
}
}
我的模型:
public function update($user_id, $userdata) {
$this->db->where('id', $user_id);
$this->db->update('users', $userdata);
}
而我的看法:
<?php echo form_open_multipart('users/upload'); ?>
<div class="row justify-content-md-center">
<div class="col-md-4 col-md-offset-4">
<h1 class="text-center"><?php echo $title; ?></h1>
<div class="form-group">
<input type="file" name="userfile" class="form-control" >
<?php echo $error; ?>
</div>
<br>
<br>
<div class="d-grid gap-2">
<button type="submit" class="btn btn-primary btn-lg">Upload</button>
</div>
</div>
</div>
<?php echo form_close(); ?>
非常感谢你们提前伙计们。我将感谢任何形式的帮助。
2条答案
按热度按时间a9wyjsp71#
上面的代码似乎没有任何明显的错误,但有几项需要检查:
users
表在模式中真的有user_image
字段吗?session->userdata('id')
是否在登录时使用真实的现有用户id进行更新?id
的用户记录是否确实已存在于数据库中?update()
未插入新值。https://codeigniter.com/userguide3/database/query_builder.html#updating-datag52tjvyc2#
您可以尝试从数组中返回单个项。
还要检查数据库列类型以接受/将文件名保存为字符串