Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme insertion dans une table

Sujet résolu
    5 novembre 2010 à 21:54:45

    Bonjour,
    j'ai un souci lorsque je veux ajouter une entrée à la table de mon blog. En fait je ne sais pas du tout ce qu'il se passe. Le code s'exécute normalement, aucune erreur. Mais au final rien ne se rajoute sur ma table :S.

    Voici le code, j'espère que qqun pourra éclairer ma lanterne :p

    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=blog', 'root', '');
    }
    	catch (Exception $e)
    {
    	die('Erreur : ' . $e->getMessage());
    }
    $date_even=$_POST['annee'].'-'.$_POST['mois'].'-'.$_POST['jour'];
    // On prépare la requete pour insérer l'article
    $ajouter=$bdd->prepare('INSERT INTO article(auteur, titre, texte, NOW(), date_evenement) VALUES(:auteur, :titre, :texte, :date_evenement)');
    // On l'éxécute avec les paras qu'on veut
    $ajouter->execute(array(
    				'auteur' => $_POST['auteur'],
    				'titre' => $_POST['titre'],
    				'texte' => $_POST['texte'],
    				'date_evenement' => $date_even
    				));
    
    • Partager sur Facebook
    • Partager sur Twitter
      5 novembre 2010 à 22:18:36

      NOW() est une valeur, non une colonne. Sa place se trouve donc quelque part dans VALUES(...), sans oublier de remplacer le premier NOW() par le nom de la colonne correspondante de ta table.
      • Partager sur Facebook
      • Partager sur Twitter
        5 novembre 2010 à 22:53:51

        Erf ouais je suis con :s ..
        Ben merci tout marche maintenant :D!
        • Partager sur Facebook
        • Partager sur Twitter
          6 novembre 2010 à 9:12:33

          bonjour,
          pour mieux voir les erreurs avec PDO : gestion des exceptions sur tout le script et pas seulement sur la connexion.
          <?php
              try
              {
                  $cn = new PDO("mysql:host=localhost;dbname=cours","root","");
                  $cn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                  // ton code
              }
              catch(PDOException $e)
              {
                  echo $e->getMessage();
              }
              $cn = null;
          ?>
          
          • Partager sur Facebook
          • Partager sur Twitter
            8 novembre 2010 à 1:55:11

            Ah merci !
            Si ça me dit où ya un problème ça peut être très utile pour mes prochains problèmes :) !
            • Partager sur Facebook
            • Partager sur Twitter
              8 novembre 2010 à 12:07:37

              bonjour
              si tu remplace cette ligne :
              $ajouter=$bdd->prepare('INSERT INTO article(auteur, titre, texte, NOW(), date_evenement) VALUES(:auteur, :titre, :texte, :date_evenement)');
              

              par celle ci :
              $ajouter=$bdd->prepare('INSERT INTO article(auteur, titre, texte, date, date_evenement) VALUES(:auteur, :titre, :texte, now(), :date_evenement)');
              


              ca devrai marcher :)

              date etant le nom de ta colonne de table
              • Partager sur Facebook
              • Partager sur Twitter
              Souvent la moitié de la réponse se trouve dans une question bien posée.
                8 novembre 2010 à 16:13:36

                Merci mais ca marchait déjà suite à la première réponse :)
                j'avais pas vu qu'il y avait le petit bouton pour mettre le sujet en résolu, honte à moi
                • Partager sur Facebook
                • Partager sur Twitter

                Probleme insertion dans une table

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown