Partage
  • Partager sur Facebook
  • Partager sur Twitter

requete dynamique

    30 juin 2010 à 15:05:46

    bonjour

    je suis entrain de monter une variable dynamique en fonction des choix de l'utilisateur.
    c'est a dire que je cree une variable requete.
    mais ya un erreur de typage ou je ne c'est quoi quand je lance ma requete

    voila le code dans la page cible
    par exemple j'obtiens la variable requete :

    echo $requete; --> SELECT * FROM jeux_video WHERE possesseur = \'' . Patrick . '\'

    jusquici tout va bien maintenant je fait ca

    $req = $bdd->query($requete);

    --> Fatal error: Call to a member function fetch() on a non- object in C:\wamp\www\test\bdd.php on line 61

    comment je dois faire, jai essaye de modifier les quotes ds tous les sens mais rien ny fait et je susi oblige d'utiliser cette methode

    merci


    • Partager sur Facebook
    • Partager sur Twitter
      30 juin 2010 à 16:43:06

      Bonjour,
      Dans une clause WHERE, il est préférable de mettre LIKE au lieu de = lorsqu'on veut comparer une chaine de caractères.

      De plus, je ne saisi pas l'utilité des . et des \. Mais bon, c'est sans doute lié à ta requête...
      • Partager sur Facebook
      • Partager sur Twitter
        30 juin 2010 à 16:49:41

        Le bon code sql devrait être celui ci
        SELECT * FROM jeux_video WHERE possesseur = 'Patrick'
        

        ou
        SELECT * FROM jeux_video WHERE possesseur = "Patrick"
        


        <HS>J'ignore si il y a une vrai différence entre simple et double quote en SQL d'ailleurs ?</HS>

        Tant que tu n'a pas un de ces résultats alors normal d'avoir ce style d'erreur

        Pour compléter Fumble, les \ et . semble être des erreurs de concaténations (à mon avis)
        • Partager sur Facebook
        • Partager sur Twitter
          30 juin 2010 à 20:04:35

          Citation : Fumble

          Dans une clause WHERE, il est préférable de mettre LIKE au lieu de = lorsqu'on veut comparer une chaine de caractères.



          ????

          Citation

          <HS>J'ignore si il y a une vrai différence entre simple et double quote en SQL d'ailleurs ?</HS>


          On doit utiliser les guillemets simples, ceux-ci étant privilégiés par la norme pour délimiter les chaînes de caractères.
          • Partager sur Facebook
          • Partager sur Twitter
            30 juin 2010 à 21:09:04

            Citation : Fayden

            <citation rid="5133408">Dans une clause WHERE, il est préférable de mettre LIKE au lieu de = lorsqu'on veut comparer une chaine de caractères.



            ????
            SELECT * FROM machin WHERE truc LIKE 'bidule';
            

            est mieux que:
            SELECT * FROM machin WHERE truc = 'bidule';
            
            • Partager sur Facebook
            • Partager sur Twitter
              30 juin 2010 à 21:18:14

              Ah ouais, et pourquoi ?
              • Partager sur Facebook
              • Partager sur Twitter

              requete dynamique

              × 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