Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur sql ?

Sujet résolu
    5 juin 2006 à 15:10:17

    Hello
    voila lorsque j'essaye d'ajouter un nouveau sujet sur mon forum il me marque sa :

    Citation : erreur

    Column count doesn't match value count at row 1



    Or, je ne comprend pas pourquoi.
    Mon code :

    // on verifie si les champs sont rempli et on insert
    if(isset($_POST['submit']))
    {
            if (!empty($_POST))
            {
                    //On prend les variables
                    $titre = htmlspecialchars(addslashes($_POST['titre']));
                    $auteur = htmlspecialchars(addslashes($_POST['auteur']));
                    $contenu = htmlspecialchars(addslashes($_POST['contenu']));
                   
                    //on inclu le sujet dans la bdd
                    $sql = ('INSERT INTO sujets VALUES("", "'.$titre.'", "'.$contenu.'", "'.$auteur.'", '.time().', '.$forum.') ');
                    query($sql) or die(mysql_error());
                   
                    redirection('forum.php?id='. $forum . '', '2');
            }
           
            else
            {
                    echo 'Veuillez remplir tout les champs !';
            }       
    }


    dans forum.php

    et mon formulaire :

    //on recupere l'id du forum en cours
    $forum = $_GET['forum'];
    ?>

    <form name="form" action="forum.php?id=<?php echo $forum; ?>" method="post">
    ...
    </form>


    je voit pas du tout ce qui ce passe.

    PS: je n'est toucher que au formulaire (mise en page).

    Merci ! :)
    • Partager sur Facebook
    • Partager sur Twitter
      5 juin 2006 à 15:16:35

      $sql = ('INSERT INTO sujets VALUES("", "'.$titre.'", "'.$contenu.'", "'.$auteur.'", "'.time().'", "'.$forum.'") ');

      EDIT : euh non ca change rien :-°
      • Partager sur Facebook
      • Partager sur Twitter
        5 juin 2006 à 15:16:54

        Donne un peu une description de ta table SQL car je pense que c'est du à ca. Et aussi je pense que t'as mis une parenthese en trop:

        $sql = 'INSERT INTO sujets VALUES("", "'.$titre.'", "'.$contenu.'", "'.$auteur.'", '.time().', '.$forum.')';
        mysql_query($sql);
        • Partager sur Facebook
        • Partager sur Twitter
          5 juin 2006 à 15:17:54

          Montre la structure de ta table.

          - Tu derais préciser tes champs dans ta requete
          - Pour les dates, utilise un champ DATETIME
          • Partager sur Facebook
          • Partager sur Twitter
            5 juin 2006 à 15:18:46

            C'est bon j'ai trouvé.
            En faite, c'st tout con, j'avait un champs sujet_lu qui devait etre utilisé mais j'ai oublié de le supprimé.
            C'est pour sa ^^

            Voila j'ai delete ce champs et tout est rentré dans l'ordre ^^

            Merci quand meme ! ^^
            • Partager sur Facebook
            • Partager sur Twitter
              5 juin 2006 à 15:18:47

              Ton erreur signifie que tu essaies d'insérer un nombre de valeurs différent du nombre de colonnes de ta table
              Es-tu sûr d'avoir 6 colonnes dans ta table ? :)

              edit : trop tard le TLG =(


              PS : un truc : logiquement on utilise addslashes() après (ou par-dessus) htmlspeciachars()
              sinon par exemple « un "truc" » va devenir « un \"truc\" » puis « un \&quot;truc\&quot; » -> antislash complètement inutiles :-°
              • Partager sur Facebook
              • Partager sur Twitter

              Erreur sql ?

              × 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