Bonjour,

Voila je rencontre un petit problème avec mon code.

Je récupere mais donné en _GET je fais une requette pour récupere sur ma base de donné l'id qui corresepond à l'username donc quand je fait un var_dump($get) je récupere tou ce qui correspond a l'utilisateur.

Code :

$username = $_GET['username'];
    $password = $_GET['password'];
    $hwid = $_GET['hwid'];

    $req = $db->prepare("SELECT * FROM licence WHERE username = :username");
    $req->execute(array(':username' => $username));
    $get = $req->fetchAll();
    var_dump($req);
   var_dump($get);
    var_dump($get->id); // Ici jobtient l'erreur  Notice: Trying to get property of non-object

et quand je remplace le var_dump($get->id) par $get['id'] j'obtient l'erreur suivante :

Undefined index: id

Voici ce que j'ai dans le var_dump($get)

array (size=1)
  0 => 
    object(stdClass)[3]
      public 'id' => string '3' (length=1)
      public 'username' => string 'rdz1' (length=4)
      public 'password' => string '6827fb1dab35d871f98f922783d1afa9a9fbe238' (length=40)
      public 'hwid' => string '37E0-9147-7D09-AA67-C004-EC5F-20F4-E5A3' (length=39)

2 réponses


GallandJe
Réponse acceptée

Salut, le problème est très simple tu as un tableau qui contient un index 0 qui est en réalité un objet contenant les données de l'utilisateur. Déjà modifie ton SELECT pour obenir ceci :

$req = $db->prepare("SELECT * FROM licence WHERE username = :username LIMIT 1");

Car le but c'est de trouver un seul utilisateur donc on évite d'avoir un tableau d'objets. Puis :

$get = $req->fetch(PDO::FETCH_OBJ);

Et tu peux récupérer l'id avec un :

$get->id

Voilà normalement ça devrait fonctionner :)

Parfait merci