Se esse for o código está faltando } antes do catch!
L
leandrocd
Na hora de resumir acabei esquecendo de colocar. Já corrigi.
D
Dragoon
o que acontece, grava em todas ou cancela alguma? Conte um pouco o que acontece
L
leandrocd
Ele grava todos, porém alguns destes que ele grava cai no catch, porém os dados continuam persistidos no banco mesmo após o rollback.
D
Dragoon
Tem que simular pra gente o que acontece, tipo tem como colar a tela da exceção?
L
leandrocd
Esse código é de uma API, constatei que o rollback não funciona pois coloquei para gerar arquivos de log no catch e verifiquei que os dados contidos nos logs estavam no banco de dados mesmo após o rolback.
Posso tentar simular o erro e lhe enviar o print da exceção.
Constatei que a execução dura no máximo 1 segundo, verifiquei que os logs estão sendo gerados a cada 1 segundo.
Verifique o log do servidor e não está gerando nenhum erro.
R
rodevops1 like
Suas tabelas estão em MyISAM, se não me engano, transactions não funcionam nessa engine, você deve trocar para InnoDB…
No post também fala sobre auto-commit, que você deve mante-lo desativado, há um link para doc do php falando a respeito…
L
leandrocd
As tabelas estão em InnoDB.
Vou desativar o auto-commit e testar.
L
leandrocd
A princípio coloquei o auto-commit como false e o sistema está funcionando corretamente.