Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2909 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] probleme avec librairie mysql.h [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] probleme avec librairie mysql.h [résolu]

n°1733360
vort3x
Posté le 18-05-2008 à 17:19:53  profilanswer
 

Bonjour,
j'essaie de me connecter à une base de données avec la livrairie mysql. Je suis sous linux (fedora 8).
mon code est simple :  
 
int main(){
 char login[10]="", pass[16]="";
 char* db="diris_c",* server="localhost",*table="mesures";
 MYSQL *mysql;
 printf("Login : " );
 scanf("%s",&login);
 printf("\nPassword : " );
 scanf("%s",&pass);
 mysql=mysql_init(NULL);
 if (!mysql_real_connect(mysql,server,login,pass,db,0,NULL,0)){
        perror("Erreur de connexion" );
  return -1;
    }
 printf("Connexion etablie...\n" );
 char *my_requete_sql;
 float valeur=220.29;
 int IDtype=2;
 int IDphase=4;
 my_requete_sql = malloc(sizeof (char) * 250);
 sprintf(my_requete_sql,"INSERT INTO mesures(valeur,IDtype,IDphase) VALUES (%'.2f,%d,%d)",valeur, IDtype, IDphase);
 mysql_query(mysql, my_requete_sql);
 free(my_requete_sql);
 mysql_close(mysql);
 return 1;
}
 
Ce n'est qu'une premiere ébauche mais déja j'ai des problèmes de compilation.  
Au début j'ai ajouté #include <mysql/mysql.h>
J'en ai besoin pour les fonctions mysql_real_connect, close, query et init.. C'est la qu'il y a problème. Si je mets un mauvais paramètre en en entrée d'une de ces fonctions, le compilateur me dit qu'il y a unj problème. Mais si je fait tout correctement, j'ai une erreur bizarre :  
 
[VorteX-on@localhost BDD]$ gcc -g -o testBDD bdd.c
/tmp/cc40aeYj.o: In function `main':
/home/VorteX-on/BDD/bdd.c:14: undefined reference to `mysql_init'
/home/VorteX-on/BDD/bdd.c:15: undefined reference to `mysql_real_connect'
/home/VorteX-on/BDD/bdd.c:26: undefined reference to `mysql_query'
/home/VorteX-on/BDD/bdd.c:28: undefined reference to `mysql_close'
collect2: ld a retourné 1 code d'état d'exécution
[VorteX-on@localhost BDD]$  
 
Pour essayer, j'ai même copié le contenu du repertoire /usr/include/mysql/ dans mon dossier courant et changé la ligne d'include en #include "mysql.h" , même erreur.
Avant ca j'avais essayé d'utiliser mysql++ et C++ mais problème de linkage. QQn a t'il une idée, je commence à en être à court.


Message édité par vort3x le 18-05-2008 à 22:54:06
mood
Publicité
Posté le 18-05-2008 à 17:19:53  profilanswer
 

n°1733400
xilebo
noone
Posté le 18-05-2008 à 19:31:10  profilanswer
 

tu n'as pas linké avec la bibliothèque. Essaie ca : gcc -g -o -lmysql testBDD bdd.c

n°1733482
vort3x
Posté le 18-05-2008 à 22:53:30  profilanswer
 

oui c'était presque ça. voila mon Makefile :
 
CC=cc
CFLAGS=-Wall  
LDFLAGS=-I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient
EXEC=testBDD
 
all : $(EXEC)
 
testBDD : bdd.o mysql.h
 $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS)
 
%.o : %.c mysql.h
 $(CC) -o $@ -c $< $(CFLAGS)
 
clean :  
 rm -f *.o testBDD


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] probleme avec librairie mysql.h [résolu]

 

Sujets relatifs
sup des caracteres et rajouter un prefix dans nom de fichier [RESOLU][WEB] Problème d'hebergement
Problème avec JButton et SetIcon...[résolu]Pb avec LoadMovie:fonctionne ou pas selon l'anim à charger
[MySQL] Ajouter des col. à un résultat si une condition est satisfaitePayPal IPN, Problème IPN PayPal (je ne recois plus la notification)
besoin d'aide pb JAVA declaration impots + videos SVPProblème Menu déroulant CSS et Flash sous IE
[réglé] Probleme taille fenetre popup 
Plus de sujets relatifs à : [C] probleme avec librairie mysql.h [résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR