INSERT INTO ne fonctionne pas...

Ce topic a été résolu
JujudufootFR2

JujudufootFR2 Le 11 février 2017 à 14:20 (Édité le 25 janvier 2019 à 17:53)

Bonjour,

Mon INSERT INTO ne fonctionne pas, je ne sais pas pourquoi, car les champs de ma bdd existe bien (id, pseudo, commentaires, id_pages).

Voici mon code :

<?php
include "../../../bdd.php";
?>
<?php
   if (isset($_POST['submit'])) {
   if (isset($_POST['commentaire']) AND !empty($_POST['commentaire'])) {
      $commentaire = htmlspecialchars($_POST['commentaire']);
      $req_pseudo = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
      $req_pseudo->execute(array($_SESSION['id']));
      $info_pseudo = $req_pseudo->fetch();
      $pseudo = $info_pseudo['pseudo'];
      $req = $bdd->query('SELECT * FROM filtre');
      $mots = [];
      $rp = [];
      while ($m = $req->fetch()) {
      array_push($mots, $m['mot']);
      $r = '';
      for ($i=0;$i<strlen($m['mot']); $i++) { 
      $r .= '*';
   }
   array_push($rp, $r);
}
$commentaire = str_replace($mots, $rp, $commentaire);
      $ins = $bdd->prepare('INSERT INTO commentaires (pseudo commentaires, id_pages) VALUES (?, ?, ?)');
      $ins->execute(array($pseudo, $commentaire, $id));
      $c_erreur = "Votre commentaire a bien été posté !";
         
      } else {
      $c_erreur = "Tous les champs doivent être complétés !";
   }
}
echo $pseudo;
echo $commentaire;
echo $id;
$commentaires = $bdd->prepare('SELECT * FROM commentaires WHERE id_pages = ? ORDER BY id desc');
$commentaires->execute(array($id));
?>
Les variables $pseudo, $commentaire et $id existent bien et sont bien définies, j'ai vérifier dans mes echo  (lignes 40, 41, 42).

Que faire ?

Merci de votre aide.
JujudufootFR2

JujudufootFR2 Le 11 février 2017 à 14:29

Désolé, il manquait un virgule, comme quoi relire une fois de plus ne fait pas de mal !
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte