Voici un exemple de code sur un sujet peu développé sur ce forum.
Ce programme permet de se connecter à un serveur MySQL, y exécuter des requêtes et en afficher les résultats (s'il y en a).
Ce programme utilise l'API en C fournie avec MySQL (nul besoin de MySQL++).
MAJ du 21/01/04 : il y avait une faute dans l'ordre des arguments de la fonction mysql_real_connect ....J'ai rajouté la source dans un zip aussi.
Source / Exemple :
#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[i] != NULL) ? elementsColonne[i] : "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);
}
Conclusion :
Ici, le header est "mysql/mysql.h", car je l'ai fait sous linux et que sous linux, il se trouve dans le répertoire "usr/include/mysql/".
Sous windows, cela doit être sensiblement la même chose.
Posez moi vos questions si ya ;)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.