incompréhension PDO execute -> fetch
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 :
Citation:
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:
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:
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:
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