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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
#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);
return (EXIT_SUCCESS);
} |
Partager