Requête SQL qui ne passe pas

DeadGun -  
DeadGun Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je me permet de poster ici malgré le titre car je ne pense pas que mon problème vienne de mon code SQL.
Alors voilà, pour enregistrer dans ma BDD, je crée un curseur, puis je l'utilise à la ligne 6. Cette requête passe sans soucis donc mes infos sont enregistrées dans ma BDD.
Je réutilise le même processus à la ligne 15 sans oublié le .commit() pour que la requête prenne effet mais là, rien ne s'enregistre dans ma BDD et je n'ai aucune erreur! De plus, l'exécution s'arrête ici puisque le print() ligne 20 n'est pas exécuté...

Je sèche totalement sur ce problème donc toute aide est la bienvenue!


#Mise en place du curseur qui nous permet de faire des requêtes
cursor = connection.cursor()

#Enregistrement des informations générales
elementsRequeteInfosGenerales = (nomRelease, fichiers[numeroFilm], dureeFilm)
cursor.execute("INSERT INTO films_infos_generales (nomRelease, titreFichier, dureeMinute) VALUES (%s, %s, %s)", elementsRequeteInfosGenerales)
connection.commit()

#Récupération de l'ID du film qui est en train d'être enregistré
cursor.execute("SELECT id FROM films_infos_generales ORDER BY id DESC")
id = cursor.fetchone()

#Enregistrement des informations de la vidéo
elementsRequeteInfosVideo = (id[0], idCodecVideo, hauteurVideo, largeurVideo, qualite)
cursor.execute("INSERT INTO films_infos_video (id_film, codecVideo, hauteur, largeur, qualite) VALUES (%s, %s, %s, %s, %s)", elementsRequeteInfosVideo)
connection.commit()

#Enregistrement des informations de la/des piste(s) audio(s)
 elementsRequeteInfosAudios = (id[0], nomPisteAudio, languePisteAudio, idCodecAudio, nombreCanaux)
 print(elementsRequeteInfosAudios)
 cursor.execute("INSERT INTO films_infos_audios (id_film, nomAudio, langueAudio, codecAudio, nombreCanaux) VALUES (%s, %s, %s, %s, %s)", elementsRequeteInfosAudios)
 connection.commit()

 #Enregistrement des informations des sous-titres
  elementsRequeteInfosSousTitre =  (id[0], nomPisteSousTitre, languePisteSousTitre, idCodecSousTitre)
  cursor.execute("INSERT INTO films_infos_soustitres (id_film, nomSousTitre, langueSousTitre, codecSousTitre) VALUES (%s, %s, %s, %s)", elementsRequeteInfosSousTitre)
  connection.commit()
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Je ne fais pas de Python,
mais tu devrais placer tes requêtes dans des blocs Try
https://dev.mysql.com/doc/connector-python/en/connector-python-api-errors-error.html

un truc du genre :
try:
  #Enregistrement des informations de la vidéo
  elementsRequeteInfosVideo = (id[0], idCodecVideo, hauteurVideo, largeurVideo, qualite)
  cursor.execute("INSERT INTO films_infos_video (id_film, codecVideo, hauteur, largeur, qualite) VALUES (%s, %s, %s, %s, %s)", elementsRequeteInfosVideo)
  connection.commit()
except mysql.connector.Error as e:
  print "Error code:", e.errno        # error number
  print "SQLSTATE value:", e.sqlstate # SQLSTATE value
  print "Error message:", e.msg       # error message
  print "Error:", e                   # errno, sqlstate, msg values
  s = str(e)
  print "Error:", s                   # errno, sqlstate, msg values

0
DeadGun Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta réponse.
C'est vrai que je ne l'ai pas précisé mais c'est déjà dans un try ^^
J'ai mis exactement l'except que tu m'as donné et ça m'a renvoyé ceci:

Error code: -1
SQLSTATE value: None
Error message: Unread result found
Error: Unread result found
Error: Unread result found
0