Php mysql事务未提交Codeigniter 3

Php mysql事务未提交Codeigniter 3,php,mysql,codeigniter-3,Php,Mysql,Codeigniter 3,模型很简单,我需要从表中删除2行,parcelas表在已删除的级联上有外键,assoc表没有外键 控制器 if($this->delete_model->delete_parcela_model($this->input->post('id_parcela_delete'),$this->input->post('id_loteo_delete'),$this->input->post('id_user_delete'))) {

模型很简单,我需要从表中删除2行,parcelas表在已删除的级联上有外键,assoc表没有外键

控制器

  if($this->delete_model->delete_parcela_model($this->input->post('id_parcela_delete'),$this->input->post('id_loteo_delete'),$this->input->post('id_user_delete')))
        {
            echo 'deleted';
            exit(1);

        }
        else
        {
            echo 'error';
            exit(1);

        }
模型中的函数调用是

function delete_parcela_model($id_parcela,$id_pago,$id_user)
{

    $this->db->trans_begin();
    $this->db->query('delete from parcela where id_parcela = "'.$id_parcela.'" and id_dueno = "'.$id_user.'"');
    $this->db->query('delete from es_dueno_assoc where tipo_dueno_id = "'.$id_parcela.'" and user_id = "'.$id_user.'"');


    if ($this->db->trans_status() === FALSE)
    {
        // generate an error... or use the log_message() function to log your error
        $this->db->trans_rollback();
        return false;
    }
    else
    {
        $this->db->trans_commit();
        return true;

    }

始终返回true,但事务未提交….

我不确定trans_status()为什么没有返回,但我会像这样使用Codeigniter数据库帮助程序中的内置帮助程序,我们可以尝试并排除故障:

$this->db->delete($this->tables['parcela'], array("id_parcela" => $id_parcela, "id_dueno" => $id_user));
然后,您可以通过添加一些日志来查看测试,这样您就可以看到$this->db->impacted_rows()输出了什么:

var_dump($this->db->affected_rows());
var_dump($this->db->affected_rows() === FALSE);
die();
然后您可以尝试获取正确的值。另请查看页面了解更多详细信息