Bonjour,
J'ai suivi le tutoriel MVC, j'ai bien chargé mon Model mais lorsque j'essaie d'appeller une fonction j'ai cette erreur :
Fatal error: Uncaught Error: Call to a member function check() on null ....
Ma ligne :
$user = $model->check($_POST['user']);
pourtant ce n'est pas null
Ma fonction :
public function check($user){around $q = $this->getDb()->prepare('SELECT * FROM compte WHERE pseudo = :pseudo');around $q->execute(['pseudo' => $pseudo]);around return $q->fetch();around }
Merci !
Bonsoir.
Si tu parles bien de Tutoriel Vidéo PHP » Créer un MVC, tu as bien du remarquer la notice :
Ce tutoriel est déprécié ! un tutoriel plus récent est maintenant disponible.
Au passage, supprimes les duplicatas précédents de ton sujet, ce n'est pas parce que tu postes plusieurs fois ton sujet, que tu auras des réponses plus rapidement.
Une fonction ça s'appel comme ça non
echo check();
Alors pourquoi tu fait ça $user = $model->check($_POST['user']);
alors que moi je ferais ça $user = check($_POST['user']);
Je peut savoir ce que sait que around ?
de toute façon ton $_POST['user']
ne sera jamais définie si tu ne poste rien d'ou le l'utilisation de isset
obligatoire, mais encore quand on utilise $_POST
c'est pour un insert ou update
j'ai jamais vue ça avec un select
.
tu la sort de ou cette fonction ?
elle est sensé faire quoi ? un rowCount()
une fonction que je ferai pour une requete :
public function query($statements,$attrs = []){
if($attrs != null){
$req = $this->pdo->prepare($statements);
$req->execute($attrs);
}else{
$req = $this->pdo->query($statements);
}
return $req;
}
Ensuite je ferai ça pour retourner l'user qui corespond a l'id en get :
$user = isset($_GET['id']) ? intval($_GET['id']) : '' ;
$req = $this->db->query('SELECT * FROM users WHERE id = ?', [$user]);
$Nb_user = $req->rowCount();
Mais vraiment je ne comprend pas ta fonction puis ta requete, alors que la miène oui.