Connexion MYSQL C++

Messages postés
71
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
6 septembre 2013
-
Messages postés
8
Date d'inscription
mardi 26 juin 2007
Statut
Membre
Dernière intervention
21 avril 2008
-
Bonsoir apres une longue recherche dans les codes dans le forum, je me decide a poser ma qustion parceque la je patauge.
Alors voila je code avec Dev-C++ et son package mysql, je veut develloper une application en c++ qui se connect a une base mysql et mon probleme c'est que je n'arrive pas a me connecter en ligne a mon serveur mysql, alors qu'il supporte cette fonction, alors voici mon code deja:

MYSQL *conn;

// initialisation if((conn mysql_init(NULL)) NULL)
{
printf("Erreur d'initialisation\n");
system("PAUSE");
return 1;
}

// connexion au serveur (ici, en local)
if((conn=mysql_real_connect(conn,"serveur","login","pass","BDD",0,NULL,0)))
{
printf("Erreur de connexion\n");
printf("%p\n",conn);
system("PAUSE");
return 1;
}
En sachant que mon serveur est unix et aussi que je ne sait pas quoi mettre pour le socket.
Merci d'avance pour votre aide.

9 réponses

Messages postés
549
Date d'inscription
samedi 6 septembre 2003
Statut
Membre
Dernière intervention
6 mars 2010

Bonsoir,

Est ce que ca compile ?
Si oui, tu peux recupere l'erreur retournée, par exemple dans tes printf tu mets un truc du genre :
printf("Erreur : %s", mysql_error(conn));

Matt...
Messages postés
71
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
6 septembre 2013

Oui ca compile. Mon seul probleme c'est la connection. Mais je teste
Messages postés
71
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
6 septembre 2013

Je vient cela affiche Erreur: mais sans erreur mysql :(!!
Messages postés
71
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
6 septembre 2013

SVP aidez moi!!!
Messages postés
87
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
4 mars 2010

voila qui t'aidera.
il te faudra le fichier DLL ( libmySQL.dll ) que tu trouvera si tu installe easyphp je pense, moi je l'ai trouver sur le net ! si tu trouve pas je te l'enverais

#include <stdio.h>
#include <stdlib.h>
#include
#include <mysql/mysql.h>
 
 
void requete(MYSQL *conn)
{
    MYSQL_RES *result;
    MYSQL_ROW elementsColonne;
    unsigned int nbColonnes;
    int i;
 
    if (mysql_query(conn,"SELECT * FROM nom_table"))
    {
        printf("Erreur dans la requête\n");
        return;
    }
    else
    {
        result = mysql_store_result(conn);
        if (result != NULL)
        {
            nbColonnes = mysql_num_fields(result);
 
            while ((elementsColonne = mysql_fetch_row(result)))
            {
                for (i = 0; i < nbColonnes; i++)
                    printf("%s\t", (elementsColonne[i] != NULL) ? elementsColonne[i] : "NULL");
                printf("\n");
            }
             mysql_free_result(result);
        }
        else
            printf("Aucun résultat à la requête !\n");
    }
}
 
 
int main(int argc, char*argv[])
{
    MYSQL *conn;
 
    // initialisation     if((conn mysql_init(NULL)) NULL)
    {
        printf("Erreur d'initialisation\n");
        return 0;
    }
 
    // connexion au serveur (ici, en local)
    if(mysql_real_connect(conn,"localhost","nom_utilisateur","mot_de_passe","nom_base",0,NULL,0)==NULL)
    {
        printf("Erreur de connexion\n");
        return 0;
    }
    
    // on lance la requête
    requete(conn);
 
    // on ferme la connexion au serveur MySQL
    mysql_close(conn);
}

================================
ou
================================

merci d'avance
Vegeta
Messages postés
8
Date d'inscription
mardi 26 juin 2007
Statut
Membre
Dernière intervention
21 avril 2008

Bonjour ,

SVP, je voulais que tu m'aides sur une connexion
mysql, j'ai que t'as  posé  et ca marche correctement, ce que je veux
exactement c'est d'afficher le nom de la colonne avant sa valeur,une
autre chose svp, est pour l'affichage je veux qu'il soit plus structuré
.
Désolé je suis pas trés fort en c++, car je travaille plus avec php pour les Webservices.
Je vous pour votre patience ainsi que votre compréhension .
Bonne journée .
Messages postés
87
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
4 mars 2010

 MYSQL *conn;
-
-  ton code de connexion ici
-
    requete(conn);

   mysql_close(conn);

void TForm1::requete(MYSQL *conn)
{
    MYSQL_RES *result;
    MYSQL_ROW  elementsColonne;
    MYSQL_FIELD *fields;

    AnsiString titre;

    if (mysql_query(conn,"SELECT * FROM Login"))
     {
        //printf("Erreur dans la requête\n");
        return;
     }
    else // requête bonne, traitons les données qu'elle renvoit
    {
        result = mysql_store_result(conn);
        fields = mysql_fetch_fields(result);
        StringGrid1->ColCount = mysql_num_fields(result);
        StringGrid1->RowCount = 0;

        for(int i = 0; i < mysql_num_fields(result); i++)
        { titre = fields[i].name;
          StringGrid1->Cells[i][0] = titre;  // les titres des colonnes
        }

        for(unsigned int i = 1; i <= result->row_count; i++)
      {
            elementsColonne = mysql_fetch_row(result);
            StringGrid1->RowCount++;

            for(unsigned int j = 0; j <= mysql_num_fields(result); j++)
                StringGrid1->Cells[j][i] = elementsColonne[j];
      }

}

Vegeta
Messages postés
8
Date d'inscription
mardi 26 juin 2007
Statut
Membre
Dernière intervention
21 avril 2008

OK ,merci beaucoup mon ami je vais tester ça demain,car je suis pas au boulot maintenant, c'est trés gentil de votre part bro.

En fait, je voulais juste savoir si c'est possible par exemple :on poste par exemple une variable en php(le cin en c++), et aprés

envoyer la valeur à notre programme C++ , pour faire des traitements derriére . ????

Bonne soirée .
Messages postés
8
Date d'inscription
mardi 26 juin 2007
Statut
Membre
Dernière intervention
21 avril 2008

Bonjour ,

J'ai un problème qui m'as bloqué ça fait 3 jours maintenant, voici mon problème:
j'ai un fichier test.cpp ou il y a que la fonction main :

int main (int a)
{
...
return(a)
}
ce que je veux, c'est d'appeler ce programme c++ avec un script php avec un entier comme paramètre pour faire du traitement après.

Je vous remercie pour votre patience ainsi que votre compréhension.