为什么删除成功了,但是数据库没有更新删除?

why delete is successful, but the database is not updated delete?

我有这样的数据擦除代码结构:

控制器

public function menu_delete($id_menu)
 {

    $menu = $this->menu_model->detail_menu($id_menu);
    $data = array ('id_menu'    => $menu->id_menu);

    $this->menu_model->menu_delete($data);
    $this->session->set_flashdata('msg', 'Data Berhasil Hapus');
    redirect(base_url('superadmin/administrator/menu'),'refresh');
   }

**型号**

// Fungsi Detail (Edit) User Controler
public function detail_menu($id_menu) 
{
    $this->db->select('*');
    $this->db->from('menu_user');
    $this->db->where('id_menu',$id_menu);  
    $query = $this->db->get();
    return $query->row(); // fungsi (row) untuk menampilkan single data
    // return $query->result(); // fungsi (row) untuk menampilkan semua data
}


// Delete data
public function menu_delete($data)
{
    $this->db->where('id_menu', $data['id_menu']);
    $this->db->update('menu_user', $data);
}

VIEW

              <button type="button" class="btn btn-sm btn-clean btn-icon btn-icon-md" data-toggle="modal" data-target="#Delete<?php echo $m['id_menu'] ?>"> <i class="la la-trash"></i></a></button></center>


          <!--begin::Modal-->
          <div class="modal fade" id="Delete<?php echo $m['id_menu'] ?>" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog" role="document">
              <div class="modal-content">
                <div class="modal-header">
                  <h5 class="modal-title" id="exampleModalLabel">HAPUS DATA INI SEKARANG ?</h5>
                  <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                  </button>
                </div>
                <div class="modal-body">
                  <h6 style="color: red">PERINGATAN PENTING !!!</h6>
                  <p><b>File yang sudah terhapus, tidak akan bisa dikembalikan lagi.</b><br> Klik <b style="color: blue">"Cancel" </b> untuk membatalkan.</p>
                </div>
                <div class="modal-footer">
                  <button type="button" class="btn btn-outline-dark" data-dismiss="modal">Cancel</button>
                  <a href="<?php echo base_url('superadmin/administrator/menu_delete/'.$m['id_menu']) ?>"><button type="button" class="btn btn-danger">Delete</button></a>
                </div>
              </div>
            </div>
          </div>

当通知成功运行时,没有错误。但数据库没有被删除或更新。肯尼亚怎么了?请帮忙

您的 menu_delete 方法似乎是这里的罪魁祸首。我不确定您要删除的列名称是什么,但考虑到它被称为 delete 并且它是一个布尔值,这样的东西会起作用。

public function menu_delete($data)
{
    $this->db->where('id_menu', $data['id_menu']);
    $this->db->update('menu_user', array("delete" => 1));
}

基本上你必须将要更新的数据传递给update方法。

发生这种情况的原因是您正在更新记录而不是删除它。这就是您编写 delete query(REFERENCE) -

的方式

型号

public function menu_delete($data)
{
    $this->db->where('id_menu', $data['id_menu']);
    $this->db->delete('menu_user');

    // Produces:
    // DELETE FROM menu_user
    // WHERE id_menu = $data['id_menu']
}

如果您只想将一个 column status0 更改为 1,反之亦然,@Deepak Singh 的回答应该可以做到。

看看对你有没有帮助。

据我所知,您正在更新数据,而不是删除数据。只需执行此操作即可从数据库中删除数据。

型号

public function menu_delete($data)
{
    $this->db->where('id_menu', $data);
    $this->db->delete('menu_user');
}