Les commentaires de mon blog ne parviennes pas à ma base de donn

Résolu/Fermé
Signaler
Messages postés
33
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
4 août 2014
-
 Utilisateur anonyme -
Bonjour, considérez svp ce script.

<?php
include ('../../../../data/connection.php');
session_start();
if (isset($_SESSION['id']) AND isset($_SESSION['pseudo']))
{
//extraction de l'id du sujet du blog
$req = $db->prepare('SELECT id FROM subjects WHERE id =?subject');
$req->execute(array($_GET['subject']));
$id_subject = $req->fetch();

// Insertion du message à l'aide d'une requête préparée
$req = $db->prepare('INSERT INTO comments (id_subject, comment, author) VALUES(?, ?, ?)');
$req->execute(array($id_subject, $_POST['content'], $_SESSION['pseudo']));

// Redirection du visiteur vers la page du des commentaires
header('Location: /page2/index.php?page=blog&blog=commentaires');
}
?>

il es sensé envoyer les commentaires de mon blog dean ma base de données précisement dans la table comments. Seulment il ne marche carrement pas.
Aidez moi à trouver le bon script pour insérer les commentaire en fonction de sujet.

Merci d'avance.



1 réponse


Bonjour

$req = $db->prepare('SELECT id FROM subjects WHERE id =?subject');
Cette requête comporte une erreur : normalement, on s'attend à 'WHERE id=?' , pas à 'WHERE id=?subject'
De plus, à quoi sert cette requête ? À récupérer l'id qu'on indique dans la condition ? Pas besoin de requête pour ça, on c'est que c'est l'ide de la condition. Tu pourrais écrire directement $id_subject=$_GET['subject'], ce serait plus simple.
Enfin, l'id récupéré par ta requête(si elle avait été correcte) aurait été dans $id_subject['id'], pas dans $id_subject tout court.