Я пытаюсь выполнить запрос MySQL с помощью библиотеки активных записей CI.Если запрос сформирован неверно, то 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";
}