p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Membre régulier
    Inscrit en
    septembre 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : septembre 2003
    Messages : 292
    Points : 94
    Points
    94

    Par défaut python et connexion mysql

    Bonjour,

    C'est la première fois que je fais un petit script de connexion à une base mysql depuis un script python, et j'ai un problème. En apparence, il a l'air de s'exécuter, mais il ne me renvoi rien après mon select. Voici mon code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    #!/usr/bin/env python
     
    import os
    import subprocess
    import re
    import MySQLdb
     
    ''' connect to DB '''
    def connectDB():
            try:
                    conn = MySQLdb.connect(
                            host = "127.0.0.1",
                            user = "xxxx",
                            passwd = "xxxx",
                            db = "xxxx"
                    )
                    return conn
            except MySQLdb.Error, e:
                    print "Error %d: %s" % (e.args[0], e.args[1])
                    sys.exit (1)
     
    ''' execute sql queries '''
    def execSQL(conn,query):
            try:
                    cursor = conn.cursor(MySQLdb.cursors.DictCursor)
                    cursor.execute(query)
                    rows = cursor.fetchall()
                    cursor.close()
                    return rows
            except MySQLdb.Error, e:
                    print "Error %d: %s" % (e.args[0], e.args[1])
                    sys.exit (1)
     
    ''' diconnect from DB '''
    def closeDB(conn):
            conn.close()
     
    ''' main program '''
     
    conn = connectDB()
     
    while (1):
            results = execSQL(conn,'SELECT * FROM evt WHERE type="Send" OR type="Ring" OR type="Sys" ORDER BY tstamp')
            for row in results:
                    print row["type"]
     
    closeDB(conn)
    Ai-je loupé quelque chose ?

  2. #2
    Membre du Club
    Inscrit en
    juin 2011
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : juin 2011
    Messages : 43
    Points : 64
    Points
    64

    Par défaut

    Bonjour,

    À première vue, je pense qu'il vous manque un commit dans votre fonction execSQL

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
    def execSQL(conn, query):
        try:
                    cursor = conn.cursor(MySQLdb.cursors.DictCursor)
                    cursor.execute(query)
                    cursor.commit() # <- ici #
                    rows = cursor.fetchall()
                    cursor.close()
                    return rows
        except ...

  3. #3
    Membre régulier
    Inscrit en
    septembre 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : septembre 2003
    Messages : 292
    Points : 94
    Points
    94

    Par défaut

    Merci, effectivement il me manquait ça, mais ce n'est pas la cause.

    Je me suis rfendu compte que .... ma table était viiiiddddeeeeeee hahaahaha. Forcément, il ne peut pas me renvoyer des données ...

    Ca marche mieux avec des données

    merci.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/04/2015, 07h57
  2. Connexion python (django) avec mysql
    Par boulet_sensei dans le forum Django
    Réponses: 2
    Dernier message: 08/10/2010, 01h12
  3. Connexion mysql
    Par olive.m dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 18/06/2004, 17h44
  4. [Connexion MySQL] Can't connect to MySQL server
    Par mat_dum dans le forum Outils
    Réponses: 12
    Dernier message: 17/07/2003, 07h49
  5. [Kylix] [cgi] pb déploiement appli avec connexion MySQL [rés
    Par Nepomiachty Olivier dans le forum Kylix
    Réponses: 3
    Dernier message: 06/08/2002, 20h09

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