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

Bibliothèques C++ Discussion :

[MySQL] Problème mysql_query en C ++


Sujet :

Bibliothèques C++

  1. #1
    Membre confirmé
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 61
    Par défaut [MySQL] Problème mysql_query en C ++
    Bonjour,

    Alors voici mon code, tout compile parfaitement, quand j'éxécute, j'obtiens "OK" suivi de "KO" alors que c'est les même requête O_o ????

    Quelqu'un peut m'aider ?

    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
    #include <iostream>
    #include "DataBase.h"
    #include <winsock.h>
    #include <MYSQL/mysql.h>
     
     
    using namespace std;
     
    int main()
    {
        MYSQL *con;
     
        con = initialisation_DB();
     
        if(mysql_query(con, "SELECT * FROM players") == 0)
            cout << "OK" << endl;
        else
            cout << "KO" << endl;
     
        if(mysql_query(con, "SELECT * FROM players") == 0)
            cout << "OK" << endl;
        else
            cout << "KO" << endl;
     
        close_DB(con);
        delete con;
     
        return 0;
    }

    Voila DataBase.cpp :

    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
    #ifndef DATABASE_H_INCLUDED
    #define DATABASE_H_INCLUDED
     
    #define IP_DB "localhost"
    #define LOGIN_DB "***"
    #define PASS_DB "***"
    #define NAME_DB "***"
     
    #include "DataBase.h"
    #include <winsock.h>
    #include <MYSQL/mysql.h>
    #include <iostream>
     
    using namespace std;
     
     
    MYSQL *initialisation_DB()
    {
        MYSQL *mysql;
        mysql = mysql_init(NULL);
        mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "option");
        if(mysql_real_connect(mysql, IP_DB, LOGIN_DB, PASS_DB, NAME_DB, 0, NULL, 0) == NULL)
        {
            cout << "Erreur : Connexion DB impossible" << endl;
            return NULL;
        }
     
        return mysql;
    }
     
    void close_DB(MYSQL *mysql)
    {
        mysql_close(mysql);
    }
     
    #endif // DATABASE_H_INCLUDED

    PS : Désolé si je ne suis pas dans la bonne rubrique pour poster ce post ^^'

  2. #2
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    j'en ai très peu fait (mysql), quand c'est ko, trace l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cout << mysql_error(conn) << endl;

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 61
    Par défaut
    Problème résolu.

    Comment ? En faisant des mysql_free_result(MYSQL_RESULT *) à chaque fois que je pouvait le faire... (Enfin, ça, c'est dans mon vrai projet avec les récupération de résultats, etc...).

    Sinon, si je trace pour le mini test que j'ai fais j'obtiens ceci :

    "Command out of sync; you can't run this command now"

    Je comprend pas comment on peut résoudre ceci ? :/

    EDIT :
    Réponse trouvée :

    http://dev.mysql.com/doc/refman/5.0/...t-of-sync.html

    Je ne comprend pas pourquoi mysql ne libère pas l'espace automatiquement avant un autre mysql_query... :/


    merci !

Discussions similaires

  1. [Mysql] Problème de connection à travers un réseau
    Par gwendo dans le forum Installation
    Réponses: 5
    Dernier message: 28/10/2005, 11h18
  2. [MYSQL] Problème ORDER BY sur deux champs
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 8
    Dernier message: 14/10/2005, 16h46
  3. [connexion Mysql] problème de connexion avec l'odbc
    Par DarkAngelus dans le forum Administration
    Réponses: 2
    Dernier message: 13/10/2005, 11h24
  4. [requete] Mysql problème de clause where
    Par Raideman dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/07/2005, 18h00
  5. [EJB2.1 Entity] [CMP] [MySQL] Problème avec clé primaire en auto increment
    Par tery dans le forum Java EE
    Réponses: 6
    Dernier message: 16/07/2004, 11h28

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