Sans connaître les numéros de ligne dans votre code, il est difficile de savoir mais vous validez votre transaction à la fin du premier bloc try-catch, puis continuez sans démarrer une nouvelle transaction dans votre deuxième bloc try-catch.
Ajoutez $conn->beginTransaction();
au début de votre deuxième bloc try-catch.
EDIT - Vous mentionnez "Je veux juste que le numéro d'incrémentation automatique ne s'ajoute pas lorsqu'une erreur se produit". Vous ne devez pas vous fier à la fonction d'auto-incrémentation pour générer une séquence de nombres "sans espace".