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

C Discussion :

PB connexion base mySQL


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Par défaut PB connexion base mySQL
    Bonjour,
    je suis débutant en programmation et j'ai commencé un programme pour me connecter a une base mySQL et récuperer des resultats. J'arrive a compiler, et lorsque je lance le programme, celui-ci fonctionne, il se connecte et affiche les resultats mais a la fin, windows me dit :
    "monprog.exe" a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrement encouru"
    Je ne comprends pas pourquoi !

    Je vous laisse le 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
    49
    50
    51
    52
    53
    54
    55
    #include <stdio.h>
    #include <winsock.h>
    #include <mysql/mysql.h>
     
    /* Les parametres ci-dessous sont a adapter a votre situation*/
    #define MY_SERVER_HOST "localhost"
    #define MY_SERVER_PORT 0
    #define MY_ACCOUNT "MY_LOGIN"
    #define MY_PASS "MY_PASS"
    #define MY_DB_NAME "MY_DB"
    #define MY_TABLE_NAME "MY_TABLE"
    #define MY_UX_SOCK NULL
    #define MY_CLIENT_FLAG 0
     
    int main(int argc, char *argv[])
    {
       MYSQL *mysql;
       MYSQL_RES *res;
       MYSQL_ROW row;
       char *query;
       int r,t;
     
       mysql=mysql_init(NULL);
       if (!mysql_real_connect(mysql,MY_SERVER_HOST,MY_ACCOUNT,MY_PASS,MY_DB_NAME,MY_SERVER_PORT,MY_UX_SOCK,MY_CLIENT_FLAG))
       {
          printf( "Erreur de connexion : %s\n",mysql_error(mysql));
       }
       else
       {
          printf("Connexion etablie...\n");
       }
     
     
       query="select * from MY_TABLE";
     
       t=mysql_real_query(mysql,query,(unsigned int) strlen(query));
       if (t)
       {
          printf("Error making query: %s\n", mysql_error(mysql));
       }
       else printf("Query made...\n");
       res=mysql_use_result(mysql);
       for(r=0;r<=mysql_field_count(mysql);r++){
               row=mysql_fetch_row(res);
               if(row<0) break;
               for(t=0;t<=mysql_num_fields(res);t++)
               {
               printf("%s ",row[t]);
               }
               printf("\n");
       }
       mysql_close(mysql);
     
      return 0;
    }
    Si vous avez la moindre remarque, n'hésitez pas !
    Merci

  2. #2
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Citation Envoyé par francwa
    "monprog.exe" a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrement encouru"
    C'est l'équivalent du "segmentation fault" sous unixoïde
    Typiquement, tentative d'acces à l'adresse 0 (NULL)

    Citation Envoyé par francwa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    res=mysql_use_result(mysql);
    for(r=0;r<=mysql_field_count(mysql);r++){
    row=mysql_fetch_row(res);
    Tu testes pas le retour de mysql_use_result
    Si "res" vaut null, alors le "mysql_fetch_row(res);" fait planter le programme

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Par défaut Changements a effectuer
    Merci de ta réponse. Alors, concretement, que faudrait il que je remplace dans mon code. Je voit pas trop.

    Merci de m'aider

  4. #4
    Membre Expert Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Par défaut
    Citation Envoyé par francwa
    Merci de ta réponse. Alors, concretement, que faudrait il que je remplace dans mon code. Je voit pas trop.

    Merci de m'aider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    res=mysql_use_result(mysql);
    if(res == NULL)
    {
        fprintf(stderr,"Pas de resultat trouvé\n");
        exit(-1);
    }
    for(r=0;r<=mysql_field_count(mysql);r++){
    row=mysql_fetch_row(res);

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

Discussions similaires

  1. [MySQL] problème de connexion base mysql
    Par developppez dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/05/2009, 15h25
  2. Connexion base MySQL
    Par Asaheim dans le forum JDBC
    Réponses: 6
    Dernier message: 18/09/2007, 19h27
  3. connexion base mysql
    Par pierrot106 dans le forum Installation
    Réponses: 1
    Dernier message: 11/06/2006, 11h59
  4. connexion base mysql depuis internet
    Par brancaleone dans le forum Delphi .NET
    Réponses: 3
    Dernier message: 07/04/2006, 16h08
  5. Réponses: 2
    Dernier message: 26/03/2006, 18h24

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