sql >> Base de Datos >  >> RDS >> Mysql

Estados de cuenta preparados y transacciones de MySQLi

Los extractos preparados y las transacciones son técnicas y tecnologías no relacionadas.

Es posible que desee emitir el START TRANSACTION y COMMIT /ROLLBACK comandos directamente en lugar de usar los métodos dedicados. Son funcionalmente equivalentes.

Para su bucle, emitiría el START TRANSACTION antes tu prepare , luego su COMMIT después de que el bucle sale. Probablemente no debería intentar abrir una transacción después de que se haya iniciado una declaración preparada pero antes de que se haya ejecutado.

Por alguna razón, no agregaron un comando de "inicio de transacción" a favor de desactivar la confirmación automática. Es una de esas cosas extrañas sobre mysqli que me hace recomendar siempre PDO en su lugar. :) Abrir una transacción desactiva implícitamente la confirmación automática durante la duración de la transacción.