Un Autre Pb en C

Defty -  
 Bob -
#include <stdio.h>
#include <mysql.h>

#define CFG_HOTE "mon_hote"
#define CFG_BASE "ma_base"
#define CFG_USER "mon_user"
#define CFG_PWD  "mon_password"

int main(int argc, char *argv[]) {

  MYSQL       mysql;
  MYSQL_RES * resultat;
  MYSQL_ROW   enr;

  char sql[250];

  printf("Connexion en cours ...\n");

  if (!mysql_connect(&mysql, CFG_HOTE, CFG_USER, CFG_PWD)) {
    printf("Connexion impossible !\n");
    return(1);
  }

  printf("Connecté.\n");

  printf("Sélection de la base ...\n");

  if (mysql_select_db(&mysql, CFG_BASE)) {
    printf("Accès à la base impossible !\n");
    return(1);
  }
  printf("Base sélectionnée.\n");

  strcpy(sql, "SELECT * ");
  strcat(sql, "FROM ma_table ");
  strcat(sql, "WHERE code > 0 ");
  strcat(sql, "ORDER BY code");

  mysql_query(&mysql, sql);

  if (!(resultat = mysql_use_result(&mysql))) {
    printf("Exécution de la requête impossible !\n");
    return(1);
  }

!!!!!!! Voila que je compile et que le prog renvoi l'erreur suivante "PARSE ERROR BEFORE 0240" !!!!!
J'ai tout essaye mais ca plante.
Merci de repondre.

2 réponses

  1. mirza
     
    Bonjour Detfy

    je pense que ta variable mysql n'est pas initialisée à partir de la variable sql qui elle est initialisée.

    mirza
    0
    1. Defty
       
      Je ne comprends toujours pas ton explication, je me suis plutôt dit qu'il s'agissait de lien vers mysql.h
      0
  2. Bob
     
    Il manque l'accolade qui ferme le bloc d'instructions de la fonction "main()". Je te conseille d'adopter une technique plus pratique pour écrire une fonction comme suit:

    Notation:

    "__" <=> tabulation

    typefonction(type argument1)
    {
    __type argument2;
    __argument2 = 0;
    __if(condition)
    __{
    ____argument++;
    __}
    }

    Avec cette méthode il est à mon sens quasiment impossible de se planter sur une accolade d'un bloc car elle sont bien alignées verticalement et le bloc imbriqué est visiblement distinct du bloc conteneur.
    0