IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

comment mettre une variable dans une requete sql


Sujet :

C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 8
    Points : 6
    Points
    6
    Par défaut comment mettre une variable dans une requete sql
    Bonjour,

    ma demande est toute simple, je travaille en langage c et j'ai besoin d'envoyer
    des requettes sql pour remplir une base de donée.
    je voudrais savoir comment mettre une variable dans ma requette ?


    exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int mavariable=2;	
    mysql_query(mysqlconnexion,"INSERT INTO  `client (`ID`)VALUES ('"+mavariable+"',)");
    Merci a tous!!!

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Ta fonction prend en paramètre une chaîne de caractère (char *)

    Tu peux donc utiliser la fonction sprintf (ou snprintf) pour formater une chaîne des données.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci mais j'ai vu quelque exemple sur internet mais en c++.
    pourrais tu me faire une petit exemple pour que je puisse mettre un int dans ma requette ??

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 677
    Points
    13 677
    Billets dans le blog
    1
    Par défaut
    http://www.developpez.net/forums/d12...e/#post6725556

    Regarde le code que j'ai donné ici

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup, je vien donc de faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    char resultat [100];
     char *texte = "INSERT INTO  `client`.`resultats` (`ID` ,`IP` ,`Port` ,`Etat` ,`Heure` ,`EspaceDisque` ,`OS`)VALUES ('";
        int entier = 42;
    	char *textefin="', '11',  '11',  '11',  '11',  '11',  '11')";
        sprintf(resultat, "%s%d%s", texte, entier,textefin);
        printf("'%s'", resultat);
    mais pour le mettre dans ma requette après il faut que je fasse mysql_query(mysqlconnexion,resultat); ?

    ou je me trompe complètement ?

  6. #6
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 677
    Points
    13 677
    Billets dans le blog
    1
    Par défaut
    Je n'ai jamais utilisé l'API MySQL mais vu ton exemple dans ton message original, je dirais "oui". Tu as essayé au moins ?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    oui merci beaucoup sa marche !!!!

    Bonne fin de journée!
    Cordialement

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    derniere petite question qui n'a pas de rapport avec les requettes sql mais j'aimerais ranger dans une variable l'ip de type structure et je ne vois pas comment faire.
    j'ai essayé plein de test mais je n'y arrive pas
    code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
            char pc[64];
            WSADATA wsadata;
            int wsa = WSAStartup(MAKEWORD(2, 2), &wsadata);
            if(wsa){
            printf("\nWSA Error!\n\n");WSACleanup();system("PAUSE");return 1;}
            if(gethostname(pc, sizeof(pc)) == SOCKET_ERROR)
            {
            printf("\nError when getting local host name!\n\n");
            WSACleanup();system("PAUSE");return 1;}
            printf("\nHost name is :\t");
            printf("%s\n", pc);
    	    struct hostent *phe = gethostbyname(pc);
     
            if(phe == 0){
            printf("\nBad host lookup!\n\n");WSACleanup();system("PAUSE");return 1;}
            for(int i = 0; phe->h_addr_list[i] != 0; i++)
            {
            struct in_addr addr;
            memcpy(&addr, phe->h_addr_list[i], sizeof(struct in_addr));
                  printf("\nAddress %ld:\t", i);
    				printf("%s\n", inet_ntoa(addr));
    				;
     
    		}
    la variable inet_ntoa(addr)); contient mon adresse et j'aimerais la ranger dans une nouvelle variable

  9. #9
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 677
    Points
    13 677
    Billets dans le blog
    1
    Par défaut
    Quand tu postes du code, utilise la balise [code] (bouton # dans la barre d'outils) pour le rendre plus lisible.

    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

    La fonction renvoie un char* donc a priori tu fais tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char *ipEnText = inet_ntoa(addr);
    C'est le simple principe du retour d'une fonction...............

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. bash: comment mettre le résultat d'une commande dans une variable
    Par helpcomm dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 03/10/2012, 23h26
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. passer une variable dans ma requete SQL
    Par poulette3000 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/04/2008, 13h50
  4. comment inserer la valeur d'une variable dans une table sql
    Par casaoui dans le forum Langage SQL
    Réponses: 7
    Dernier message: 25/01/2008, 15h06
  5. [SQL] Mettre le résultat d'une requête dans une variable
    Par temperature dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/01/2008, 13h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo