Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur PHP / SQL

Sujet résolu
    20 janvier 2018 à 15:54:35

    Bonjour! 

    J'ai essayé de créer de mon côté une page (dbform.php) qui génère un formulaire a 2 listes déroulantes dans lesquelles figure les noms de console et les noms de possesseur des jeux donnés dans la base de données "jeux_video" (téléchargeable dans le cours de PHP), dans le but de permettre à un utilisateur de choisir les informations qu'il veut visualiser dans la base de données. J'ai choisis la méthode "post" et ai correctement ciblé la page PHP qui contient la requête SQL, dans le formulaire. 

    Dans la page cible du formulaire (dbtest.php), j'ai écris la requête SQL qui me permettrait d'accéder aux données choisis par l'utilisateur. 

    Seulement, lorsque je valide mes choix de catégories (par exemple, "Possesseur: Sébastien ; Console: Megadrive"), cette erreur apparaît:

     "Call to a member function execute() on boolean in  C:\wamp64\www\PHP\dbtest.php on line 11"

    Voici le code de la page "dbtest.php":

    <?php

    try

    {

                     $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');

    }

    catch (Exception $e)

    {

                    die('Erreur: ' .$e-> getMessage());

    }  

    $reponse = $bdd->query("SELECT nom, possesseur, console FROM jeux_video WHERE nom AND possesseur = ? AND console = ? ORDER BY possesseur");

    $reponse->execute(array($_POST['possesseur'], $_POST['console']));


    La ligne en rouge est la ligne "11". 

    Pouvez vous m'aidez à trouver l'erreur dans le code? 

    Merci d'avance pour vos réponses! 

    -
    Edité par Poder81 20 janvier 2018 à 16:22:21

    • Partager sur Facebook
    • Partager sur Twitter
      20 janvier 2018 à 17:31:15

      Dans ta ligne 10

      $reponse = $bdd->query("SELECT nom, possesseur, console FROM jeux_video WHERE nom AND possesseur = ? AND console = ? ORDER BY possesseur");

      ta clause "WHERE nom" il manque "nom = quelquechose"

      • Partager sur Facebook
      • Partager sur Twitter
        20 janvier 2018 à 18:22:34

        Et remplacer query par prepare : ça va être difficile d'exécuter directement une requête qui doit être préparée.

        • Partager sur Facebook
        • Partager sur Twitter
          20 janvier 2018 à 18:58:36

          J'ai appliqué vos modifications et ça fonctionne!

          Merci beaucoup! ;) 

          • Partager sur Facebook
          • Partager sur Twitter

          Erreur PHP / SQL

          × 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