Bonjour,

Je souhaites de coder une fonction qui vérifie en base de donnée si le pseudo est déjà utilisé.
je passe par une class getDB pour faire ma connexion à la DB et après je fais mes instructions conditionnelles pour les différents cas d'utilisation (query ou prepare et avec 1 ou plusieurs résultats)
sauf que quand je souhaites faire le fetch() après le execute () .il me murmure :
Fatal error: Call to a member function fetch() on a non-object in /volume1/web/Database/MysqlDatabase.php on line 38
alors que lorsque je fais un var dump() sur la variable juste avant le execute() il me confirme que c'est bien un objet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
object(PDOStatement)#7 (1) {
  ["queryString"]=>
  string(49) "SELECT * FROM users WHERE username= :username"
}
et même quand je mets le code en dur il me répète:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Fatal error: Call to a member function fetch() on a non-object in /volume1/web/Database/MysqlDatabase.php on line 38
voici le code en dur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public function query($statement, $params=false, $fetch=null){
        $req = $this->getPDO()->prepare("SELECT * FROM users WHERE username= :username");
        $req->bindParam(':username', '3ym3r1c', PDO::PARAM_STR);
            // echo "<pre>";
            // var_dump($req);
            // echo "</pre>";
            // die();
        $req->execute()->fetch();
Voilà mon problème!
Si vous avez des idées sur l'erreur débile que j'ai certainement dû faire, je suis preneur.
Merci