Bonjour ! Un autre jour, et un nouveau soucis se dessine...
Fatal error: Cannot use object of type PDOStatement as array in search.php on line 101.
Le message d'erreur ne me dit rien et j'ai beau essayer les différentes techniques sur le web pour la retirer, impossible (ou dans le meilleur des cas j'obtiens juste un affichage vide).
Voila le code qui pose problème :
La ligne concerné par l'erreur est celle-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 $sq1 = "SELECT modname, modlink, modpic, weight FROM mods WHERE $option LIKE '%$recherche%' ORDER BY idmod LIMIT ".(($cPage-1)*$perPage).",$perPage"; $sq3 = "SELECT penname, penlink, nbpen FROM mods, pens, MtP WHERE mod_id = idmod AND pen_id = idpen AND $option LIKE '%$recherche%'"; $requete = $bdd->query($sq1); $requete3 = $bdd->query($sq3); while ($recherche = $requete->fetch()) { echo "<table class=\"table table-striped table-bordered\"><tbody>"; print "<tr><td><b>$recherche[modname]</b></td>"; print "<td width=150 rowspan=\"4\" colspan=\"1\"><img src=\"$recherche[modpic]\" width=250 height=100</img><br/></td></tr>"; print "<tr><td><b>Material needed:</b><br>"; while ($requete2 = $requete3->fetch()) { print "- $requete3->nbpen <a href=\"penmodding.com/pen.php?s=$requete3[penlink]\">$requete3[penname]</a><br>"; } print "</td></tr>"; print "<tr><td><b>Weight class: </b>$recherche[weight]</td></tr>"; print "<tr><td><b>Tutorial Link: </b><a href=\"$recherche[modlink]\">$recherche[modname]</a></td></tr>"; echo "</tbody></table><br>"; }
Sur les différentes ressources que j'ai trouvé, le fait de mettre $variable->attribut, pouvait résoudre le soucis mais dans mon cas on obtiens un affichage vide (ma requête renvoie bien un résultat, c'est testé sur phpmyadmin)
Code : Sélectionner tout - Visualiser dans une fenêtre à part print "- $requete3->nbpen <a href=\"pen.php?s=$requete3[penlink]\">$requete3[penname]</a><br>";
Pouvez vous me dire ce qui cloche et comment puis-je afficher ces variables svp ?
Merci d'avance
Partager