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

PHP & Base de données Discussion :

Recupération résultat requete en variable [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Par défaut Recupération résultat requete en variable
    Bonjour,

    J'ai besoin de votre éclairage sur une requete mysql en PHP svp.

    Ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql2 = "SELECT (ID_APP) FROM application where NAME_APP = '$LIST_APP'";
    $res2 = mysql_query($sql2);
    J'affiche mon résultat sous forme de tableau ou je récupère mon objet au choix :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //tableau
    while($ID_APP = mysql_fetch_array($res2))
    {
    echo $ID_APP['ID_APP'] ; 
    }
     
    //ou Objet
     
    while($ID_APP = mysql_fetch_object($res2))
    {
    echo $ID_APP->ID_APP; 
     
    }
    L'echo me retourne bien la valeur que je souhaite ex : 2

    Jusque la pas de problème.

    Cependant apres je fais un insert dans ma base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql3 = ("INSERT INTO HOST VALUES('$ID_AP')");
    $res3 = mysql_query($sql3) or die('Erreur SQL !<br>'.$sql3.'<br>'.mysql_error());
    Sauf que ma variable $ID_APP est vide, j'ai une erreur SQL lors de l'insert :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Notice: Undefined variable: ID_AP inErreur SQL !
    INSERT INTO HOST VALUES('')
    Incorrect integer value: '' for column 'ID_APP' at row 1
    Comment récupérer le résiltat de ma requete sql2 et la mettre dans une varaible pour pouvoir l'insérer par la suite ??

    Merci d'avace pour vos réponses ...

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql3 = ("INSERT INTO HOST VALUES('$ID_AP')");
    $res3 = mysql_query($sql3) or die('Erreur SQL !<br>'.$sql3.'<br>'.mysql_error());
    Je vois une erreur de frappe au niveau de $ID_AP, c'est plutôt $ID_APP, non ?. Pour les erreurs du style "Undefined variable", "Undefined index", il s'agit de mettre un isset, il permet de vérifier l'existence ou non de cette variable en question.

    J'espère t'avoir aidé !

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Par défaut
    Je dis peut être une bétise mais il te manque un P à la fin de la variable... ?

    Ah pardon Toad tu m'as devancé

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Par défaut
    oui erreur de frappe dans mon post, mon code est correct, c'est $ID_APP merci

    Donc avez vous une idée ? je ne vois pas ...

    Je récupère bien mon résultat dans mon echo mais comment le passeer en variable ??

    Merci merci ...

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Par défaut
    Erreur dans mon code effectivement il manquait un "P"

    le vrai message d'erreur sql est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO HOST VALUES('')
    Incorrect integer value: '' for column 'ID_APP' at row 1
    Effectivement j'ai un "Incorrect integer value" car la varible est vide ...

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut
    Le ID_APP c'est une variable en auto-incrément non ? Parce que si c'est le cas, on peut dire le ID_APP est déjà rempli, donc tu ne peux pas réinsérer au dessus, d'où l'erreur.

    En gros, tu n'as pas l'utilité de mettre "manuellement" la valeur, si tu souhaites absolument le faire, modifies la variable pour éviter qu'elle soit en auto-incrément.

    J'ai essayé d'être le plus clair. C'est une piste probable

  7. #7
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Par défaut
    Toad89 :

    ID_APP est auto incrémenté dans ma table APPLICATION ...

    Mais j'ai une table HOST que j'alimente avec ma requete select plus haut .. ou ID_APP n'est pas en auto increment ...

    Mon MCD MLD ICI :
    http://www.developpez.net/forums/d12...creation-base/


    Tanoak_LaCapuche :

    Je vais essayer ta solution mais pour le moment je voudrais juste la récupérer en variable, je test ...

    Merci à vous.

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Par défaut
    Ben si tu l'as dans ton echo et qu'elle est bonne je te conseille d'utiliser une requete préparée (D'ailleurs tu devrais le faire dans toutes tes requetes normalement)

    Ci-joint un code pour un insert en préparée, ça devrait t'aider.

    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
     
    try
    {
    $bdd = new PDO('mysql:host=localhost;dbname=aide_au_depannage','ident', 'mot_de_passe');
    }
    catch (Exception $e)
    	{
    		die('Erreur : ' . $e->getMessage());
    	}
    // Tu la prépares				
    $requete3 = $bdd->prepare('INSERT INTO fichier_solution(up_nom,up_idmessage,up_descriptif) VALUES(:up_nom,:up_idmessage,:up_descriptif)');
     
    // Et tu l'éxécutes en rentrant pour toi ta variable $ID_APP				
    $requete3->execute(array('up_nom' => $nomfile,
    				 'up_idmessage' => $index_file,
    				 'up_descriptif' => $_POST['up_describe']));

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

Discussions similaires

  1. Stocker Résultat requete SQL dans 1 variable
    Par agdid04 dans le forum Windows
    Réponses: 4
    Dernier message: 28/10/2013, 16h37
  2. affecter le résultat d'une requete à une variable globale
    Par Giuseppe24 dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 26/03/2010, 14h13
  3. Recupérer résultat requete select
    Par piero53 dans le forum ASP.NET
    Réponses: 12
    Dernier message: 18/10/2009, 22h04
  4. mettre résultat requete dans une variable
    Par ptitepo dans le forum VB.NET
    Réponses: 15
    Dernier message: 04/11/2008, 14h07
  5. Réponses: 5
    Dernier message: 05/04/2005, 11h53

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