【问题标题】:Image updating null using mysql codeigniter使用 mysql codeigniter 更新图像 null
【发布时间】:2019-07-28 02:25:08
【问题描述】:

我正在使用 codeigniter 中的图像更新 api,如果我更新我的图像,则功能工作正常,但如果我没有上传任何图像,则图像字段在数据库中变为“Null”。这是我的代码

$add_data['user_id'] = ($this->input->post('user_id') && !empty($this->input->post('user_id'))) ? $this->input->post('user_id') : NULL;

if(!file_exists($_FILES['resume']['tmp_name']) || !is_uploaded_file($_FILES['resume']['tmp_name'])) 
                        {
                            $add_data['resume'] = ($this->input->post('resume') && !empty($this->input->post('resume'))) ? $this->input->post('resume') : NULL;

                            $add_data['resume']=$add_data['resume'];
                        }
            else
                        {
                            $filename=time().uniqid(rand()).$_FILES['resume']['name'];
                            move_uploaded_file($_FILES["resume"]["tmp_name"], "resume/" . $filename);
                            $add_data['resume']=$filename;
                        }

                $data = array(
                'resume'=>$add_data['resume'],
                );  
                $this->db->where('id',$add_data['user_id']);
                $query=$this->db->update('users_info', $data);

【问题讨论】:

    标签: php mysql sql codeigniter image-uploading


    【解决方案1】:

    $filename 没有获得任何值,并且在数据库中它可能具有默认值 NULL

    您需要删除/注释此行:

    ...
     $add_data['resume']=$filename; // <-- $filename is not getting any value,  uncomment or remove it.
    }
    else
    {    
    ...
    

    【讨论】:

    • 我只是希望如果我没有上传任何新图像,那么旧图像不应该从数据库中删除
    • @amitsharma,如果您不指定编辑数组中的字段,它将不会更新旧值。
    • 答案已更新。如果文件没有上传,我们不需要更新数据库中的值。
    • 你是对的,但我在数据库中的值自动变为空,我该如何解决这个问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-23
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多