Comment utiliser MySql dans un programme C

Pour utiliser une base de données MySql dans un programme écrit en C il faut utiliser le header « mysql.h ».

A priori ce n’est pas bien difficile, il y a juste à rajouter la ligne #include <mysql.h> au début de votre programme. Cela devient un peu plus difficile par contre quand votre compilateur vous dit que la librairie mysql.h n’est pas présente dans votre système…

Pour résoudre ce problème, il faut installer le paquet libmysqlclientXX-dev:

sudo apt-get install libmysqlclient16-dev

Une fois ce paquet installé (et que mysql.h est bien appelé dans votre programme) il suffit de compiler avec la commande suivante:

gcc programme.c `mysql_config --cflags --libs`

Voici maintenant comment exécuter des requêtes dans votre programme:

//premièrement, on initialise la connexion
char *server = "localhost";
char *user = "dbuser";
char *password = "dbpsw";
char *database = "dbname";
MYSQL *conn;

conn = mysql_init(NULL);
mysql_real_connect(conn, server,user, password, database, 0, NULL, 0);

//exemple de SELECT
MYSQL_RES *res;
MYSQL_ROW row;
mysql_query(conn, "SELECT * FROM example_table");
res = mysql_use_result(conn);
while ((row = mysql_fetch_row(res)) != NULL){
//on accède aux valeurs avec row[0], row[1] ...
}

//exemple avec INSERT
char* column1 = "test";
char* column2 = 123;
char temp[512];
sprintf(temp, "INSERT INTO example_table (column1,column2) VALUES ('%s','%i');",column1,column2);
mysql_query(conn, temp);

//On oubli pas de fermer la connexion:
mysql_close(conn); 

Bonne chance!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *