Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème cours base de données

Sujet résolu
    25 avril 2011 à 16:10:52

    Bonjour,
    Je suis en train de suivre le cours sur les bases de données et je rencontre un problème.
    J'ai demandé à ce qu'il n'affiche que les jeux de Michel et de Patrick qui coute moins de 3 €.

    Il affiche donc bien que les jeux de Patrick et de Michel, mais le prix n'est pas respecte.

    J’espère être au bon endroit pour poster...

    Voici le code :

    <?php
    //On se connecte a MySql
    try
    {
    	$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    	$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
    	
    	//On fait une requete
    	$reponse = $bdd->query('SELECT * FROM jeux_video WHERE possesseur=\'Patrick\' OR possesseur=\'Michel\' AND prix < 3');
    
    	//On recupere les donnes ligne par ligne
    	while ($donnees = $reponse->fetch())
    	{
    	?>
    
    	<?php echo 'Le jeu '.$donnees['nom']. ' appartient à '.$donnees['possesseur']. ' et il coute ' .$donnees['prix']. ' €<br/>';
    
    	}
    	$reponse->closeCursor(); // Termine le traitement de la requête
    
    	
    }
    catch (Exception $e)
    {
            die('Erreur : ' . $e->getMessage());
    }
    ?>
    


    Voici ce que j'obtiens :


    Image utilisateur

    La solution doit être bête mais je ne la vois pas.
    Si quelqu'un pouvait m'éclairer.

    Je vous remercie d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      25 avril 2011 à 18:57:24

      Problème de logique. AND est prioritaire sur OR, comme la multiplication est prioritaire sur l'addition. Ajoute des parenthèses et cela ira mieux.
      • Partager sur Facebook
      • Partager sur Twitter
        25 avril 2011 à 21:38:04

        Merci pour votre aide,
        Ou dois je mettre les parenthèses ?
        J'ai essayé de les mettre au tour de OR et même autour de chaque possesseur mais
        j'obtiens une erreur...

        :euh:
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          26 avril 2011 à 9:14:44

          Comme ça ;)

          (possesseur=\'Patrick\' OR possesseur=\'Michel\')
          • Partager sur Facebook
          • Partager sur Twitter
            26 avril 2011 à 14:46:15

            Bonjour à vous,

            Je vous remercie, c'était bien comme ça :D

            @ Bientôt, je passe en résolu.
            • Partager sur Facebook
            • Partager sur Twitter

            Problème cours base de données

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown