Fatal error: Cannot use object of type stdClass as array

Fermé
bonustime - 15 janv. 2014 à 17:50
Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 - 15 janv. 2014 à 22:13
Bonjour,

Je suis en train de faire un système de commentaire et je buche sur une erreur: fatal error: Cannot use object of type stdClass as array

voici le code:
$comments = $sql->query("SELECT comments.com_text,users.username,users.rank FROM comments
INNER JOIN users ON users.id = comments.com_user_id		
WHERE comments.com_article_id = '$m' ORDER by com_date DESC ");

<?php foreach ($comments as $comment): ?>	
<?php if ($comment['rank'] < 50) {?> 
<div class="green">#<?php echo htmlspecialchars($comment->username); ?></div>
<?php } else { ?>
<div class="red">#<?php echo htmlspecialchars($comment->username); ?></div>
<?php } ?>
<?php endforeach ?>		



mon query est un fetchAll(PDO::FETCH_OBJ); , je pourrais contourner en faisant une deuxième requête qui serait de type fetchAll(PDO::FETCH_ASSOC) pour ne plus avoir d'erreur; mais j'aimerais a tout prix éviter de faire une deuxième requête , alors existe il un moyen de contourner ? merci beaucoup

2 réponses

Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 21
15 janv. 2014 à 22:13
remplace :
$comment['rank']


par :
$comment->rank


Ou si ça ne fonctionne pas :
$comment->getRank();
2