IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Pb Mysql requette


Sujet :

Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 88
    Par défaut Pb Mysql requette
    Bonjour

    j'ai un probleme de requete MySQL avec ce code

    mon message d'erreur est

    query = query % args
    TypeError: not all arguments converted during string formatting


    avec debian 7 et 8 cela fonctionnais très bien mais avec debian 9 non

    pouvez-vous m'aider


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            cursor = db.cursor()
            sql = "SELECT chaine FROM chaines where chaine=%s"
            valeurs = str(liste_chaine[compteur])
            cursor.execute(sql, valeurs)
            resultat = cursor.fetchone()

    Merci bien

    Cordialement

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 715
    Par défaut
    Salut,

    Je dirais que la version du pilote MySQL qui vient avec debian9 semble plus stricte que les versions précédentes car il aurait du râler bien avant!
    Vous devriez écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cursor.execute(sql % valeurs)
    qui n'est pas recommandée (pour des raisons de sécurité) ou:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cursor.execute(sql,  (valeurs,))
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 88
    Par défaut
    Bonjour

    merci beaucoup de votre aide

    comme je dois maintenant modifier une dizaine de programmes quelle serait la syntaxe si j'ai plusieurs valeurs ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cursor.execute(sql,  (valeurs1, valeur2))
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cursor.execute(sql,  (valeurs1, valeur2,))
    sachant que les deux fonctionnent mais quelle est la syntaxe la plus appropriée ??

    Merci bien

    Cordialement

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 715
    Par défaut
    Salut,

    Citation Envoyé par www.rubis Voir le message
    sachant que les deux fonctionnent mais quelle est la syntaxe la plus appropriée ??
    Lorsque techniquement deux constructions sont valides, on va choisir suivant des critères non techniques...
    l'esthétique, les (mauvaises) habitudes, ... ou par défaut dans le PEP8

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 88
    Par défaut
    Merci beaucoup

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. C# MySQL Requette WHERE ne fonctionne pas
    Par merscos dans le forum C#
    Réponses: 21
    Dernier message: 18/04/2012, 23h32
  2. temps d'execution requette mysql .
    Par Amenos dans le forum Débuter
    Réponses: 7
    Dernier message: 06/04/2006, 15h46
  3. variables tableau dans requettes mysql ... et affichage
    Par mulbek dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/10/2005, 16h29
  4. concatenation dans requette mysql
    Par mulbek dans le forum Requêtes
    Réponses: 30
    Dernier message: 24/10/2005, 08h56
  5. Variables dans texte issu de requette mysql
    Par thierry69000 dans le forum Requêtes
    Réponses: 3
    Dernier message: 07/09/2005, 23h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo