API C MySQL

AnaGraM Messages postés 72 Statut Membre -  
 freelock -
Bonjour,

Je désespère à installer cette API :\
Je voudrais ajouter à Dev-c++ les librairies MySQL. J'ai les librairies que j'ai téléchargé sur mysql.com et je les ai ajouté dans le répertoire include.
J'ai trouvé un petit programme pour tester et j'essaie de le compiler. J'ai une erreur :
In file included from C:\...\mysql.h
from main.c
parse error before "SOCKET" (dans un autre fichier fourni dans include de mysql).
mysql.h appelle un fichier mysql_com.h et c'est dans ce fichier que j'ai une erreur.

Voilà le programme

#include <mysql.h> /* Headers for MySQL usage */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

static MYSQL demo_db;

int main(int argc, char **argv){
  int insert_id;
  char *encdata, *query;
  int datasize;
  MYSQL_RES *res; /* To be used to fetch information into */
  MYSQL_ROW row;

  if(argc<2){
    printf("Please supply a string for insertion into the database\n");
    exit(0);
  }

  if(!mysql_connect(&demo_db, "192.168.1.15", "bob", "")){ 
/* Make connection with mysql_connect(MYSQL db, char *host, 
char *username, char *password */
    printf(mysql_error(&demo_db));
    exit(1);
  }

  if(mysql_select_db(&demo_db, "demodb")){ /* Select the database we want to use */
    printf(mysql_error(&demo_db));
    exit(1);
  }

  encdata=malloc(strlen(argv[1])+1); 
/* Create a buffer to write our slash-encoded data int; it must be at least twice
 the size of the input string plus one byte for the null terminator */
  datasize=mysql_real_escape_string(&demo_db, encdata, argv[1], strlen(argv[1])); 
/* Escape any MySQL-unsafe characters */
  query=malloc(datasize+255); /*Make sure we have enough space for the query */
  sprintf(query, "INSERT INTO demotable(demodata) 
VALUES('%s')", encdata); /* Build query */
  if(mysql_real_query(&demo_db, query, strlen(query)+255)){ /* Make query */
     printf(mysql_error(&demo_db));
     exit(1);
  }
  free(query);

  insert_id=mysql_insert_id(&demo_db); /* Find what id that data was given */

  query=malloc(255);
  sprintf(query, "SELECT demodata FROM demotable WHERE id='%d'", insert_id);
  if(mysql_real_query(&demo_db, query, 255)){ /* Make query */
     printf(mysql_error(&demo_db));
     exit(1);
  }

  res=mysql_store_result(&demo_db); /* Download result from server */
  row=mysql_fetch_row(res); /* Get a row from the results */
  printf("You inserted \"%s\".\n", row[0]);
  mysql_free_result(res); /* Release memory used to store results. */
  mysql_close(&demo_db);

  return 0;
}


Où est-ce que j'ai fait une faille ? Comment faire pour installer ces librairies ??

Merci d'avance
A voir également:

3 réponses

AnaGraM Messages postés 72 Statut Membre 50
 
UP!

Personne ne sait ?
0
cnnconnects
 
moi, j'ai réussi en cherchant un peu sur google, ne perds pas ton temps à rédiger des messages sur un forum simple conseil
0
freelock
 
Salut Anagram,
Ton pb vient que tu essais de compiler sous windows.
Contrairement à ce que certain dise, j'ai trouvé la réponse sur un forum.
La réponse la voici:

#include <windows.h>
#include <mysql.h>

Et oui il faut faire l'include de windows.h impérativement avant et no problemo.

Bye Freelock.
0