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 :

[SQL] La valeur d'une variable ne semble pas être prise en compte


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 17
    Points : 10
    Points
    10
    Par défaut [SQL] La valeur d'une variable ne semble pas être prise en compte
    Bonjour a vous .

    Je me suis lancé dans un petit projet personnel et qui est devenu plus grand que je ne le pensais. J'ai donc me mettre à php mais depuis hier je bute sur un probleme.

    Alors voilà mon 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
     
    <?
     
    	$heros='Arthur';
    	mysql_connect('localhost','root','') or die("erreur de connection BDD");
    	mysql_select_db ('legendes') or die ("erreur de selection BDD");
    	#commande SQL retournant le chemin de l'image associée au nom du personnage choisi
    	$query = "SELECT lieu_image FROM heros WHERE noms = '$heros';";
     
    	#echo $query;
    	#execution de la requete	
    	$result = mysql_query($query);
     
    	        while($images = mysql_fetch_array($result));
    		   {
    		      echo $images['lieu_image'];
    		   }
    	mysql_close() or die ("erreur de fermeture BDD");
     
    ?>
    <div id="box3">
    	<img src="./images/roi_arthur.jpg">	
    </div>
    J'ai mis aussi les 3 lignes de html qui suivent (qui sera remplacé par le php dés que sa marche)

    Je stocke donc le chemin d'images en fonctions de noms de personnage dans ma base de donnée et je souhaite que la variable $image prenne la valeur du chemin.

    La requête sql semble correcte en fonctionnelle (de plus en toute logique et si je n'ai pas fait d'erreur de conception de la base la requête sql ne peut sortir qu'un seul enregistrement).

    J'arrive donc à mon probleme : en l'état actuel
    echo $images['lieu_image'];
    devrait afficher le chemin determiner (soit dans l'exemple : ./images/roi_arthur)

    Hors sur la page web rien ne s'affiche ! Moi je ne comprends pas mais je debute .
    J'ai essayer plusieurs options (comme _assoc ou _row ; mettre de guillemets simple ou double avant et apres la variable dans le echo $image mais rien ne marche : voir sa empire sévère).

    Comment y remédier ?

    Merci à vous d'avance.

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    C'est peut être un problème de casse, vérifies les données dans ta bdd pour voir s'il y a aucun différence de ce coté. Sinon tu peux utiliser les fonction UPPER ou LOWER qui permettront de retirer les problèmes de casse.

    Si ca fonctionne toujours pas, il se peut que le champ nom dans ta bdd contienne des espaces qui devait être présent lors de l'insertion, donc pense à utiliser la fonction TRIM.

    Pour finir voici la liste de toute les fonctions SQL possibles, jettes y un oeil : Fonctions de chaînes de caractères

  3. #3
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Points : 87
    Points
    87
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $query = "SELECT lieu_image FROM heros WHERE noms = '$heros'";
    while($images = mysql_fetch_object($result));
    		   {
    		      echo $row->lieu_image;
    		   }
    essaie avec sa, chez moi sa marche

  4. #4
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    essaie avec sa, chez moi sa marche
    je doute tu as dû oublié quelquechose
    $query = "SELECT lieu_image FROM heros WHERE noms = '$heros'";
    $result = mysql_query($query);
    while($images = mysql_fetch_object($result));
    {
    echo $row->lieu_image;
    }
    ce serait peut-être pas mal d'afficher les erreurs potentielles :
    $result = mysql_query($query) or die mysql_error();

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    @ Kerod : J'ai tout verifier quant à la casse ou à des espaces dans ma base de donnée. Ce n'est pas le cas.

    Pour les autre :

    Le texte ne s'affiche pas !

    $result = mysql_query($query) or die mysql_error();
    Si j'utilise çà, j'ai droit à un parse error.

    $result = mysql_query($query) or die (erreur);
    mais çà, ne me renvois rien.

  6. #6
    Expert éminent
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Points : 6 812
    Points
    6 812
    Par défaut
    Pense au $ :
    $result = mysql_query($query) or die ($erreur);
    ou au quote :
    $result = mysql_query($query) or die ('erreur');

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    En effet dans mon code d'origine il ya bien des quotes.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    J'ai enfin trouver l'erreur.
    C'etait juste un point virgule ; en trop

    voila le code juste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while($images = mysql_fetch_array($result))
               {
                  echo $images['lieu_image'];
               }
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     while($images = mysql_fetch_array($result));
               {
                  echo $images['lieu_image'];
               }
    Comment se prendre la tête pour tres peu de choses.
    Merci quand même a vous pour m'avoir aider a m'orienter.

    Maintenant je vais pouvoir avancer mon petit site vu que 80 % de ce que je comptais faire passait par l'adaptation de ce code.

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

Discussions similaires

  1. Input Text, valeur par défaut ne doit pas être prise en compte
    Par imocarpe dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/09/2010, 15h32
  2. Le manifest du war ne semble pas être pris en compte
    Par jpclavery dans le forum Wildfly/JBoss
    Réponses: 3
    Dernier message: 14/06/2008, 22h22
  3. [SQL] Détection du changement de valeur d'une variable
    Par micatmidog dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/06/2007, 20h22
  4. [pl/sql] valeur d'une variable
    Par pdiaz dans le forum Oracle
    Réponses: 6
    Dernier message: 18/07/2006, 14h10
  5. Réponses: 5
    Dernier message: 16/05/2006, 09h23

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