CodeIgniter: ошибка транзакции против ОШИБКИ MySQL

#php #mysql #codeigniter #transactions

#php #mysql #codeigniter #транзакции

Вопрос:

Как я могу определить, была ли транзакция ЛОЖНОЙ или произошло что-то еще (заблокированная таблица)?

     $this->db->trans_start();

    $this->db->where('id', $id)
             ->limit(1);

    $q = $this->db->delete('table');

    $this->db->trans_complete();

    return $this->db->trans_status() ? TRUE : FALSE;
  

Например, транзакция может завершиться с ошибкой из-за ограничения внешнего ключа. Если это так, я бы запустил другой запрос. В любом другом случае я хочу повторить исходный запрос.

Ответ №1:

Проверьте, был ли запрос выполнен успешно

 if($q)
 echo ok 
else
 echo ko