Probleme d'utilisation de l'API C de mysql sous linux

Probleme d'utilisation de l'API C de mysql sous linux - SQL/NoSQL - Programmation

Marsh Posté le 25-05-2007 à 10:18:10    

Bon bah.. en espérant pas m'etre trompé de cat vu que j'ai du C et du MySql...
si c'est le cas je le déplacerai :)
Le code :

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <mysql/mysql.h>
  4. int main()
  5. {
  6.     MYSQL mysql;
  7.         mysql_init( &mysql );
  8.         mysql_options( &mysql, MYSQL_READ_DEFAULT_GROUP, "option" );
  9.         if( mysql_real_connect( &mysql, "localhost", "XXX", "XXX", "BDD", 0, NULL, 0) )
  10.         {
  11.             /* Requête de test d insertion                              */
  12.             mysql_query(&mysql, "insert into MATABLE values ('date', 'string', 'string', 'int', 'text')" );
  13.             printf("Envois de la requete d insertion reussie...\n" );
  14.             /* Requête de test de lecture                               */
  15.             mysql_query(&mysql, "select MESVALEURS from MATABLE " );
  16.             printf("Envois de la requete de lecture reussie...\n" );
  17.             /* Déclaration des pointeurs de structure                   */
  18.             MYSQL_RES *result = NULL;
  19.             MYSQL_ROW *row = NULL;
  20.             unsigned int i = 0;
  21.             unsigned int num_champs = 0;
  22.             /* On met le jeu de résultat dans le pointeur result        */
  23.             result = mysql_use_result( &mysql );
  24.             /* On récupère le nombre de champs                          */
  25.             num_champs = mysql_num_fields( result );
  26.             /* Tant qu'il y a encore un résultat ...                    */
  27.             while ( ( row = mysql_fetch_row( result ) ) )
  28.             {
  29.                 /* On déclare un pointeur long non signé pour y stocker la taille des valeurs   */
  30.                 unsigned long *lengths;
  31.                 /* On stocke cette taille dans le pointeur              */
  32.                 lengths = mysql_fetch_lengths( result );
  33.                /* On fait une boucle pour avoir la valeur de chaque champs                     */
  34.                for(i = 0; i < num_champs; i++)
  35.                {
  36.                    /* On ecrit toutes les valeurs                       */
  37.                    printf(" %.*s\t ", (int) lengths[i], row[i] ? row[i] : "NULL" );
  38.                }
  39.                printf("\n" );
  40.             }
  41.             printf("Fin des donnees a afficher...\n" );
  42.             /* Fermeture de MySQL                                       */
  43.             mysql_close(&mysql);
  44.             printf("Fermeture de mysql reussie...\n" );
  45.         }
  46.         else  /* Sinon ...                                              */
  47.         {
  48.             printf("Une erreur s'est produite lors de la connexion à la BDD!" );
  49.         }
  50.     return 0;
  51. }


A la copile ca donne ca :

Citation :


cc -c test.c
test.c: In function `main':
test.c:44: warning: assignment from incompatible pointer type
test.c:56: warning: pointer type mismatch in conditional expression
 
cc -o test.exe test.c -I/usr/include/mysql/ -L/usr/lib/mysql/ -lmysqlclient -lz -Wall
test.c: In function `main':
test.c:44: warning: assignment from incompatible pointer type
test.c:56: warning: pointer type mismatch in conditional expression
test.c:56: warning: char format, void arg (arg 3)


 
pour l'explication j'insers dans MATABLE des données (pour le moment toujours la meme, masi a terme ca sera un chargement de fichier)
le but est de les resortir mais j'ai des warning :/ pour le format c'est normal, vu que la donnée est un entier :)
 
si quelqu'un a une petite idée j'en serai ravi  :jap:
 
edit : et j'ai aussi un petit soucis avec mysqlimport au niveau du log utilisateur pour la commande... on est obligé de fermer mysql avant ?
 

Code :
  1. mysqlimport -u user -p[Pass] -L -C --fields-terminated-by=';' --lines-terminated-by='\\n' mabase 'monfichier'


mysqlimport: Error: Access denied for user: 'user@localhost' (Using password: YES)


Message édité par the Grim Reaper le 25-05-2007 à 14:45:42
Reply

Marsh Posté le 25-05-2007 à 10:18:10   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed