Base de données et PyMySQL
Résolu
helloworld20
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
helloworld20 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
helloworld20 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pour commencer depuis le début, je veux pouvoir accéder à une base de données SQL distante, j'utilise python 3.4.2 et je n'ai pas de module SQL. En cherchant sur internet, j'ai trouvé un module sur github dénommé "PyMySQL" qui comble ce manque.
Je n'ai aucun problème pour récupérer des données mais plus pour en ajouter.
Voici mon problème :
Je me connecte à la base sans soucis, je crée un curseur puis je lance ma requête SQL INSERT INTO qui est correcte (et qui marche sur phpmyadmin) et mon programme poursuit sans erreur ni d'alerte mais en vérifiant ma BDD, je ne vois rien, pas de ligne ajoutée.
Voici le lien vers le module en question : https://github.com/PyMySQL/PyMySQL
Et la partie qui envoie les données :
Bien évidemment, les informations de connections sont bonnes et le nom de la base aussi.
Merci à ceux qui me répondront ou me liront
Pour commencer depuis le début, je veux pouvoir accéder à une base de données SQL distante, j'utilise python 3.4.2 et je n'ai pas de module SQL. En cherchant sur internet, j'ai trouvé un module sur github dénommé "PyMySQL" qui comble ce manque.
Je n'ai aucun problème pour récupérer des données mais plus pour en ajouter.
Voici mon problème :
Je me connecte à la base sans soucis, je crée un curseur puis je lance ma requête SQL INSERT INTO qui est correcte (et qui marche sur phpmyadmin) et mon programme poursuit sans erreur ni d'alerte mais en vérifiant ma BDD, je ne vois rien, pas de ligne ajoutée.
Voici le lien vers le module en question : https://github.com/PyMySQL/PyMySQL
Et la partie qui envoie les données :
def sendmsg(emetteur, dest, msg):
exe = """INSERT INTO `bdd`.`messagerie` (`id`, `emetteur`, `destinataire`, `message`) VALUES (NULL, '""" + emetteur + """', '""" + dest + """', '""" + msg + """');"""
conn = pymysql.connect(host='domaine', user='usnm', passwd='pass', db='bdd')
cur = conn.cursor()
cur.execute(exe)
cur.close()
conn.close()
return True
Bien évidemment, les informations de connections sont bonnes et le nom de la base aussi.
Merci à ceux qui me répondront ou me liront
1 réponse
-
Salut
tu dois ajouter un commit() :
https://github.com/PyMySQL/PyMySQL/pull/280
https://www.python.org/dev/peps/pep-0249/#connection-methods