Fatal error: Uncaught Error: Cannot use object of type PDOStatement as array
Bonjour,
Je me suis lancé sur un projet un peu compliqué sur mon site pour cela j'ai utilisé une architecture MVC en php avec un petit peu de POO. Mais voilà aujourd'hui je travaille sur mon site et je voudrais afficher le contenu "content" de ma BDD (un système d'article) quand l'on clique sur l'article qui correspond mais cela ne fonctionne pas et je ne vois pas trop d'où cela vient ... :?
Le code :
Page d'affichage de l'article :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<?php $titre = $_GET['title'] ?>
<!-- NAV -->
<?php ob_start(); ?>
<a href="compte_sio.php?action=projet&id_projet=<?= $_GET['id_projet'] ?>&title=Cours" style="text-decoration: none; color: black"><i class="fas fa-long-arrow-alt-left"></i> Retour</a>
<?php
while ($article = $postarticle->fetch()) {
?>
<a href="compte_sio.php?action=post&id_projet=<?= $_GET['id_projet']?>&title=<?= $article['title'] ?>" style="text-decoration: none; color: black"><p class="navsio"><?= htmlspecialchars($article['title']) ?></p></a>
<?php
}
$postarticle->closeCursor();
?>
<?php $nav = ob_get_clean(); ?>
<!-- CONTENU -->
<?php
ob_start();
echo $articleview['content'];
$content = ob_get_clean();
?>
<?php require('template.php'); ?> |
Frontend
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
<?php
require_once('class.php');
function getlangage(){
$lang = new file();
$post = $lang->getlangage();
require('sioView.php');
}
function getProjet(){
$proj = new file();
$postproj = $proj->getProjet($_GET['id_langage']);
require('sioProjetView.php');
}
function getArticle(){
$article = new file();
$postarticle = $article->getArticle($_GET['id_projet']);
require('sioArticleView.php');
}
function projet(){
$projet = new file();
$postproj = $projet->projet($_GET['id_projet']);
require('sioProjetView.php');
}
function post(){
$post = new file();
$postarticle = $post->getArticle($_GET['id_projet']);
$articleview = $post->post($_GET['id_projet']);
require('sioPostView.php');
} |
Ma class avec les requêtes SQL
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
<?php
require_once('bd.php');
class file extends bd{
public function getlangage(){
$bd = $this->bd_Connect();
$req = $bd->query('SELECT * FROM Langage');
return $req;
}
public function getProjet($id_langage){
$bd = $this->bd_Connect();
$req2 = $bd->prepare('SELECT id, title FROM Projet WHERE id_langague = ?');
$req2->execute(array($id_langage));
return $req2;
}
public function getArticle($id_fichier){
$bd = $this->bd_Connect();
$req3 = $bd->prepare('SELECT id, title, id_projet, type FROM Article WHERE id_projet = ?');
$req3->execute(array($id_fichier));
return $req3;
}
public function projet($id_projet){
$bd = $this->bd_Connect();
$req4 = $bd->prepare('SELECT id, title FROM Projet WHERE id = ?');
$req4->execute(array($id_projet));
return $req4;
}
public function post($id_projet){
$bd = $this->bd_Connect();
$req5 = $bd->prepare('SELECT * FROM Article WHERE id_projet = ?');
$req5->execute(array($id_projet));
$post = $req5->fetch();
return $req5;
}
} |
Dans la page d'affichage j'ai à un moment
Code:
1 2 3 4 5
| <?php
ob_start();
echo $articleview['content'];
$content = ob_get_clean();
?> |
c'est de la d'où vient le problème et je ne sais pas vraiment comment le résoudre
Merci de m'aider si possible..