Bonjour
Mon problème est que sur ma page pour lire mon article le contenue de la table ( l'article ) ne s'affiche par mon url donne http://localhost/article.php?id=1 mon code est :

<?php
require 'include/header.php';

require 'include/database.php';

$req = $pdo->prepare('SELECT * FROM articles WHERE id = ?');
$req->execute([$_GET['id']]);
$post = $req->fetch();
var_dump($post);
    ?>

    <article>
        <h1><?php echo $post['titre'];?></h1>
        <?php echo $post['contenue'];?>
    </article>

<?php
require "include/footer.php";>

Je ne vois pas comment faire , j'aimerai qu'une ame sensible m'aide :')

Merci bonne journée

7 réponses


houceni
Réponse acceptée

Yo!
C'est plutot :

$req = $pdo->query('SELECT * FROM articles WHERE id = '.$_GET['id']);

La méthode query est faite pour les requetes type SELECT, SHOW.
Et donc tu supprimes cette ligne:

$req->execute([$_GET['id']]);

Merci de ton aide bonne journée :)

ton var_dump te ressort quoi ?

ton fetch, tu sais si c'est un tableau ou un objet ?

si c'est un object, il faut appeler les infos de ton $post de cette manière : $post->titre et $post->contenue

Belle injection SQL en perspective !!!

KEULU
le var dump est la uniquement pour tester , et j'ai sujet clos j'ai reussi merci :)

Huggy comment sa ?

Yo!

Je crois que Huggy s'adressait à moi.
Je n'ai fais que donner la solution comme demandé. Après c'est sur, que huggy n'a pas tord, mais comme je l'ai dis c'est pas le sujet du post.
Pour Romuald:
https://www.grafikart.fr/tutoriels/php/securite-injections-sql-59