Erreur de récupération id

Par FrenchGaming Team, il y a 10 ans


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, il y a 10 ans

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 :)

FrenchGaming Team, il y a 10 ans

Parfait merci