ошибка при обновлении моих записей

Это мой контроллер:

        public function updatedata($id)
{
//$id=$this->input->get('id');
$result['data']=$this->Form_model->displayrecordsById($id);

$this->form_validation->set_rules('fname', 'First name', 'required');
$this->form_validation->set_rules('lname', 'Last name', 'required');
$this->form_validation->set_rules('username', 'Username', 'required|min_length[5]|max_length[12]');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email');

if ($this->form_validation->run() == FALSE)
{
$this->load->view('update_records',$result);
}

else
{
$config['upload_path']   = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$this->load->library('upload', $config);

$fn=$this->input->post('fname');
$ln=$this->input->post('lname');
$un=$this->input->post('username');
$em=$this->input->post('email');
if($this->upload->do_upload('filename'))
{
$fi= $this->upload->data('file_name');
//                               $file = ("uploads/".$result['data']->filename);
//                                //delete the existing file if needed
//                                if (file_exists($file)) {
//                                    unlink($file);
//                                }
}
else
{
$fi= $result['data']->filename;
}
$this->Form_model->updaterecords($fn,$ln,$un,$em,$fi,$id);
echo 'Successfully updated your record';
//exit();
}
}

я пытаюсь обновить данные, которые уже хранятся в базе данных, она работает нормально, но проблема, с которой я сталкиваюсь, заключается в том, что когда я не хочу обновлять раздел изображения, скажем, только если я хочу обновить имя или просто электронную почту, он также работает хорошо, но позже, когда я вижу в своей базе данных, имя файла изображения удаляется, и, следовательно, изображение также не отображается.

ошибка, с которой я сталкиваюсь, такова:

Обнаружена ошибка PHP
Серьезность: Уведомление

Сообщение: попытка получить свойство необъекта

Имя файла: controllers / Form.php

Номер строки: 146

Backtrace:

Файл: C: \ xampp \ htdocs \ amit \ application \ controllers \ Form.php
Линия: 146
Функция: _error_handler

Файл: C: \ xampp \ htdocs \ amit \ index.php
Линия: 315
Функция: require_once

пожалуйста, может кто-нибудь помочь мне, пожалуйста, я пытаюсь исправить это со вчерашнего дня, но я не могу этого сделать, пожалуйста, может кто-нибудь помочь мне, пожалуйста

1

Решение

Надеюсь, что это поможет вам :

Первый: Замени это

$fi= $result['data']->filename;

С этим

 $fi= $result['data'][0]->filename;

второй : Чтобы заменить существующее изображение, вы должны добавить $config['overwrite']=TRUE; в вашей конфигурации, как это:

$config['upload_path']   = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['overwrite'] = TRUE;
$this->load->library('upload', $config);
/*........your other code .........*/

Для большего : https://www.codeigniter.com/user_guide/libraries/file_uploading.html#preferences

1

Другие решения

Других решений пока нет …