Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Nicht abgefangene Ausnahme 'PDOException' mit der Meldung 'Es gibt keine aktive Transaktion'?

Ohne die Zeilennummern in Ihrem Code zu kennen, ist es schwer zu wissen aber Sie schreiben Ihre Transaktion am Ende des ersten Try-Catch-Blocks fest und fahren dann fort, ohne eine neue Transaktion in Ihrem zweiten Try-Catch-Block zu starten.

Fügen Sie $conn->beginTransaction(); hinzu zu Beginn Ihres zweiten Try-Catch-Blocks.

BEARBEITEN - Sie erwähnen "Ich möchte nur, dass die automatische Inkrementnummer nicht hinzugefügt wird, wenn ein Fehler auftritt". Sie sollten sich nicht auf die Autoinkrement-Funktion verlassen, um eine "lückenlose" Zahlenfolge zu generieren.