Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/07/2008, à 22:54

Tug

[Résolu] Recherche tuto API MySQL

Bonjour,

Je voudrais faire un petit programme en C pour "attaquer" (je crois que c'est le terme) une base de données MySQL. Cette base de donnée existe déja et fonctionne avec PHP. J'ai fais quelque recherche sur internet et j'ai trouvé un programme pour commencer mon travail.

#include <my_global.h>
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>

MYSQL *conn;

int main(int argc, char**args) {
MYSQL *con;
MYSQL_RES *res;
MYSQL_ROW row;
unsigned int nb;
unsigned long *lengths;
unsigned int i;

	conn = mysql_init(NULL);
	if (conn==NULL) {
		printf ("\aErreur d'initiation du client !\n");
		exit(EXIT_FAILURE);
	}

	con = mysql_real_connect(conn, NULL, "pikachu", "pokemon", "Pokemon", 3306, NULL,0);
if (con==NULL) {
printf ("\aErreur de connection du client !\n");
exit(EXIT_FAILURE);
}
else
printf ("Connection établi !\nWelcome !\n");
if(mysql_query(conn, "select Login from User")==0) {
res = mysql_use_result(conn);
if (res == NULL)
printf ("\aPas de réponse !\n");
else {
nb = mysql_num_fields(res);
while ((row = mysql_fetch_row(res)))
{
lengths = mysql_fetch_lengths(res);
for(i = 0; i < nb; i++)
{
printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL");
}
printf("\n");
}
}
mysql_free_result(res);
}
else
printf ("\aProblème d'interrogation !\n");
mysql_close(conn);
printf("Fermeture du client. Bye !\n");
return 0;
}

et son Makefile associé.

all : client

	MYI = -I/usr/include/mysql
	MYLIBS = -L/usr/include/mysql/ -lmysqlclient

client : mysqlclient.c
	$(CC) -o client mysqlclient.c $(MYI) $(MYLIBS)

clean:
	-rm -f *.o

Lorsque je compile j'obtiens les erreurs suivante (je m'en doutais un peu).

mysqlclient.c:1:23: erreur: my_global.h : Aucun fichier ou dossier de ce type
mysqlclient.c:2:19: erreur: mysql.h : Aucun fichier ou dossier de ce type

Normal je n'ai pas installé le moindre paquet ou autre.

Merci d'avance pour votre aide, tuto, mot clé à recherché,...

Tug

Dernière modification par Tug (Le 24/07/2008, à 14:59)

Hors ligne

#2 Le 03/07/2008, à 07:08

nicolas.sitbon

Re : [Résolu] Recherche tuto API MySQL

sudo apt-get install libmysqlclient15off libmysqlclient15-dev

En revanche l'entête my_global.h n'appartient pas à MySQL il me semble, si c'est un entête à toi, tu dois l'inclure comme ceci :

#include "my_global.h"

Hors ligne

#3 Le 24/07/2008, à 14:57

Tug

Re : [Résolu] Recherche tuto API MySQL

Merci Nicolas pour ta réponse.

Mais je vais plutôt utiliser Shell car une autre partit de mon programme l'utilise.

En revanche pour ceux qui sont intéressé j'ai trouvé ce tuto

Dernière modification par Tug (Le 24/07/2008, à 14:58)

Hors ligne