在CodeIgniter中查询错误处理

时间:2011-01-13 02:51:19

标签: codeigniter activerecord

我正在尝试使用CI活动记录库执行MySQL查询。如果查询格式错误,则CI将调用内部服务器错误500并退出而不处理后续步骤。

我需要回滚在该错误声明之前处理的所有其他查询,并且回滚也没有发生..你能帮忙吗?

代码段如下:

function dbInsertInformationToDB($data_array)
{
    $returnID = "";
    $uniqueDataArray = array();

      // I prepare a array of values here
    $uniqueTableList = filter_unique_tables($data_array[2]);
    $this->db->trans_begin();

    // inserting is done here
    // when there is a query error in $this->db->insert().. it is not rolling back the previous query executed

    foreach($uniqueTableList as $table_name)
    {
        $uniqueDataArray = filterDataArray($data_array,$table_name,2);
        $this->db->insert($table_name,$uniqueDataArray);
        if ($this->db->_error_message())
        {
            $error = "I am caught!!";
        }
        $returnID = $this->db->affected_rows();
    }
    if ($this->db->trans_status() === FALSE)
    {
        $this->db->trans_rollback();
    }
    else
    {
        $this->db->trans_commit();
    }

    return "ERROR";
}

1 个答案:

答案 0 :(得分:0)