Un Autre Pb en C

Fermé
Defty - 3 nov. 2003 à 16:24
 Bob - 3 nov. 2003 à 21:46
#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

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
Je ne comprends toujours pas ton explication, je me suis plutôt dit qu'il s'agissait de lien vers mysql.h
0
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