Bonjour à tous, je suis actuellement les tutos PHP de Grafikart qui était sur PHP 7.1
J'en suis à la connexion à la base de données avec la Class PDO et PDOStatement pour récupérer les infos sous forme soit de tableau PDO::FETCH_BOTH , soit d'objet PDO::FETCH_OBJ.
Jusque là tout va bien, je récupère mon objet stdClass.
La ou cela se complique c'est quand on souhaite donner un nom de class à l'objet avec PDO::FETCH_CLASS, $class_name
Depuis la Version PHP 8 : il est indiqué -> Deprecated: Creation of dynamic property
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public function query($statement, $class_name){ $req = $this->getPDO()->query($statement);// 'SELECT * FROM article' $req->setFetchMode(PDO::FETCH_CLASS, $class_name); $datas = $req->fetchAll(); return $datas; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php foreach($db->query('SELECT * FROM article', 'Article') as $post): ?> <li> <a href="index.php?=post&id=<?= $post->id; ?>"><?= $post->titre; ?></a> </li> <?php endforeach; ?>
Comme le tuto est un peu ancien, avant le problème ne se posait pas... du coup je suis bloqué... j'ai pu lire que l'on pouvait supprimer les message d'erreur... mais l'idée serait plutôt d'apprendre avec les nouvelles bonnes pratiques...
Pouvez vous m'indiquer (pédagogiquement) le problème et la piste pour résoudre le problème... pour que je puisse poursuivre mon apprentissage sur de bonnes bases.
Partager