Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Declarações e transações preparadas MySQLi


Declarações e transações preparadas são técnicas e tecnologias não relacionadas.

Você pode querer emitir o START TRANSACTION e COMMIT /ROLLBACK comandos diretamente em vez de usar os métodos dedicados. Eles são funcionalmente equivalentes.

Para seu loop, você emitiria o START TRANSACTION antes seu prepare , então seu COMMIT após a saída do loop. Você provavelmente não deve tentar abrir uma transação depois que uma instrução preparada foi iniciada, mas antes de ser executada.

Por algum motivo, eles não adicionaram um comando "iniciar transação" em favor de desativar o autocommit. É uma daquelas coisas estranhas sobre o mysqli que me faz sempre recomendar o PDO. :) Abrir uma transação desativa implicitamente o autocommit durante a transação.