Un bout de c qui devrait t'aider :
ce n'est pas de moi, source récupérer sur un forum de devel, mais je l'ai testé et çà marche sans aucun pb.
Bon courage
il faut linker lors de la compilation avec la libraire mysql ...donc qd tu compiles, fo faire "gcc -o ServeurMysql.cpp serveur.exe -lmysqlclient"
(-l pour link et ensuite, le nom de la librairie : mysqlclient, des fois c simplement mysql, fo tester)
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#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 // requête bonne, traitons les données qu'elle renvoit
{
result = mysql_store_result(conn);
if (result != NULL) // MySQL peut extraire des résultats
{
nbColonnes = mysql_num_fields(result);
// récupère les enregistrements un par un
while ((elementsColonne = mysql_fetch_row(result)))
{
for (i = 0; i < nbColonnes; i++)
printf("%s\t", (elementsColonne != NULL) ? elementsColonne : "NULL");
printf("\n");
}
// on libère la mémoire prise pour les résultats
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);
}
Poste le Wednesday 6 April 2005 17:08:32