Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新记录时面临的问题_Php_Codeigniter - Fatal编程技术网

Php 更新记录时面临的问题

Php 更新记录时面临的问题,php,codeigniter,Php,Codeigniter,我正在尝试更新我的记录,它工作得很好,但我在这里面临一些问题,试图修复它(但无法做到) 我面临的问题是,当我不想更新我的图像时(比如说我只想更新我的名字和姓氏),那么只有那些应该更新,但是相反,当我尝试这样做时,图像名称(存储在我的数据库中)被删除,并且将没有可用的图像 有人能告诉我该怎么做吗 控制器部分: public function updatedata() { $id=$this-

我正在尝试更新我的记录,它工作得很好,但我在这里面临一些问题,试图修复它(但无法做到)

我面临的问题是,当我不想更新我的图像时(比如说我只想更新我的名字和姓氏),那么只有那些应该更新,但是相反,当我尝试这样做时,图像名称(存储在我的数据库中)被删除,并且将没有可用的图像

有人能告诉我该怎么做吗

控制器部分:

                    public function updatedata()
                {
                  $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)
                      {

                          echo validation_errors();
                          $this->load->view('update_records',$result);
                          //exit();
                      } 

                      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');
                                   }
                              else
                                   {
                                      $fi= $result['data']->filename;
                                   }
                              $this->Form_model->updaterecords($fn,$ln,$un,$em,$fi,$id);
                              echo 'Successfully updated your record';
                              //exit();
                          } 
        //                   else 
        //                   {
        //                       echo $this->upload->display_errors();
        //                       //exit();
        //                   }
                      }
视图部分:

        <body>
         <?php
          $i=1;
          foreach($data as $row)
          {
          ?>
            <form method="post" enctype="multipart/form-data">
                    <div class="container">

                        <h5 style="color:#ff1a1a">First name</h5> 
                        <input type="text" class="form-control" name="fname" value="<?php echo $row->first_name; ?>"/>
                        <span class="text-danger"><?php echo form_error("fname");?></span>

                       <h5 style="color:#ff1a1a">Last name</h5>
                       <input type="text" class="form-control" name="lname" value="<?php echo $row->last_name; ?>"/>
                       <span class="text-danger"><?php echo form_error("lname");?></span>

                        <h5 style="color:#ff1a1a">Username</h5>
                        <input type="text" class="form-control" name="username" value="<?php echo $row->username; ?>"/>
                        <span class="text-danger"><?php echo form_error("username");?></span>

                        <h5 style="color:#ff1a1a">E-mail</h5>
                        <input type="text" class="form-control" name="email" value="<?php echo $row->email; ?>"/>
                        <span class="text-danger"><?php echo form_error("email");?></span>

                        <h5 style="color:#ff1a1a">Image</h5>
                        <img src="<?php echo base_url('uploads/' . $row->filename);?>" class="img-responsive" alt="image" width="100px" height="100px"><br><input type="file" name="filename" value="<?php echo $row->filename; ?>">

                        <br><input type="submit" name="update" class="btn btn-success" value="Update Records"/>

                    </div>    
            </form>
            <?php } ?>
        </body>

请按下面给出的代码进行尝试:

function updaterecords($fn = '', $ln = '',$un = '', $em = '', $fi = '', $id = '')
{
    $data = array();
    if (isset($fn) && !empty($fn))
        $data['first_name'] = $fn;
    if (isset($ln) && !empty($ln))
        $data['last_name'] = $ln;
    if (isset($un) && !empty($un))
        $data['username'] = $un;
    if (isset($em) && !empty($em))
        $data['email'] = $em;
    if (isset($fi) && !empty($fi))
        $data['filename'] = $fi;
    if (!empty($data) && !empty($id))
        $this->db->update('form', $data, array('ID' => $id)); 
}

你能在更新记录($fn,$ln,$un,$em,$fi,$id)中发布代码吗&确保您在尝试更新时预先填充了先前保存的数据。先生,请检查我的更新问题先生,请检查我的控制器部件更新问题先生,它工作正常,但如果我只想更改图像,则它不工作在尝试更新之前,请检查
$fi
中的值更新<代码>打印(fi)并验证文件名是否存在。文件名不是他们的sirsr请检查我对控制器部分的更新问题
遇到PHP错误严重性:注意消息:尝试获取非对象文件名的属性:controllers/Form.PHP行号:144 Backtrace:file:C:\xampp\htdocs\amit\application\controllers\Form.PHP行:144函数:\错误\处理程序文件:C:\xampp\htdocs\amit\index.php行:315函数:require\u once
function updaterecords($fn = '', $ln = '',$un = '', $em = '', $fi = '', $id = '')
{
    $data = array();
    if (isset($fn) && !empty($fn))
        $data['first_name'] = $fn;
    if (isset($ln) && !empty($ln))
        $data['last_name'] = $ln;
    if (isset($un) && !empty($un))
        $data['username'] = $un;
    if (isset($em) && !empty($em))
        $data['email'] = $em;
    if (isset($fi) && !empty($fi))
        $data['filename'] = $fi;
    if (!empty($data) && !empty($id))
        $this->db->update('form', $data, array('ID' => $id)); 
}