Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Erreur] Insertion Mysql

    12 novembre 2006 à 12:38:19

    Salut a tous

    Voila j'ai une erreure dans mon script php :
    erreur d'insertion You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id='1'' at line 1

    Mon script php :
    <?php
      require("cfg.php");
    mysql_connect($host,$username,$password);
    mysql_select_db($bdd_name);

    $id = $_GET['id'];
    $present = $_POST['present'];
    $absent = $_POST['absent'];
    $pseudo = $_SESSION['membrepseudo'];

    mysql_query ("INSERT INTO next_match (present) VALUES('". $pseudo ."') WHERE id='".$id."'")or die ("erreur d'insertion ".mysql_error());

    echo ('Ton status lors de ce match a été mise a jour merci a toi :)');

     ?>
    • Partager sur Facebook
    • Partager sur Twitter
      12 novembre 2006 à 12:40:36

      dans values, faut mettre tous les champs de ta base
      VALUES('','".$pseudo."') et d'autres s'il y en a d'autres
      • Partager sur Facebook
      • Partager sur Twitter
        12 novembre 2006 à 12:46:49

        Citation : benjihg


        mysql_query ("INSERT INTO next_match (present) VALUES('". $pseudo ."') WHERE id='".$id."'")or die ("erreur d'insertion ".mysql_error());


        Il y a un gros problème là !
        Tu demandes d'ajouter dans next_match la valeur $pseudo quand l'id = $id !!!!

        Sauf erreur de ma part, si tu dis INSERT INTO, c'est que tu entres une nouvelle ligne dans ta base !

        Si ton problème est d'ajouter parmis un enregistrement existant une valeur suplémentaire dans un champs qui était vide apparavant, tu dois utiliser UPDATE !
        • Partager sur Facebook
        • Partager sur Twitter
          12 novembre 2006 à 14:32:38

          En faite je veux ajouter dans "present" de la table next_match les prochains joueur qui jouerons le match

          Si je fais Update sa me remplace le joueur or je veux qu'il s'ajoute a celui qui été deja la avant
          • Partager sur Facebook
          • Partager sur Twitter
            12 novembre 2006 à 15:30:02

            Si j'ai bien compris, tu veux ajouter les noms des participants dans le champs "present" d'une même entrée dans la table next_match ! C'est bien ça ? !

            Et c'est pas plus simple d'ajouter une entrée pour chaque joueur en spécifiant le match qu'il jouera ?

            Et plutôt que d'avoir un tas de nom les uns collés aux autres, tu auras pour chacun un id, un nom et son match.

            Ce serait pas plus simple ? Ou bien alors j'ai rien compris à ce que tu veux !
            • Partager sur Facebook
            • Partager sur Twitter
              12 novembre 2006 à 15:36:33

              Je t'explique merci deja de ton aide

              J'ai une team counter strike
              Et je souhaiterai savoir qu'elle joueur
              Sera : Present ou Absent lors d'un match
              Pour sa j'ai créé un module Prochain Match
              Et dedans affiche les match que j'ai rentré
              le joueur coche present ou absent
              Apres je veux que dans mon module d'administration je puisse voir les joueurs qui seront présent et ceux qui seront absent
              • Partager sur Facebook
              • Partager sur Twitter
                12 novembre 2006 à 15:48:36

                Je sais pas si tu auras plusieurs matches ou non, mais on va faire comme si c'était le cas !

                Donc dans ce cas, tu as déjà une table ("matches") qui comprend la totalité des matches, avec pour chacun des matches un id, le nom du matches et tout ce qui le caractérise si besoin !
                Et une seconde table ("joueurs") qui comportera l'id, le nom, le matche, et ce qui caractérise les joueurs !

                Avec un système du genre, quand le joueur coche la case "matche1", tu ajoutes dans la table joueur une entrée avec un nouvel id, le nom du joueur, et le nom du matche qu'il veut jouer.

                Et quand tu iras dans ta console d'admin, tu demanderas d'afficher tous les joueurs qui ont demander de jouer tel ou tel autre matche !
                • Partager sur Facebook
                • Partager sur Twitter
                  12 novembre 2006 à 16:02:23

                  j'ai du mal a compendre ce que tu as dis :), oui j'aurai plusieur match

                  Il y a qu'une seule table next_match
                  Avec dedans plusieur champ :
                  -Id du match
                  -Nom de la team
                  -Date du match
                  -Absent
                  -Present

                  Un formulaire qui affiche l'id du match et le nom de la team et la date et ou il peut cocher soit absent ou present
                  Si il choisit absent sa enregistre son pseudo dans le champ absent
                  Si il choisit present sa enregistre son pseudo dans le champ present
                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 novembre 2006 à 16:21:50


                    --
                    -- Structure de la table `matches`
                    --

                    CREATE TABLE `matches` (
                      `id` int(19) NOT NULL AUTO_INCREMENT,
                      `matche` varchar(250) NOT NULL,
                      `date` varchar(250) NOT NULL,
                      KEY `id` (`id`)
                    );

                    --
                    -- Structure de la table `joueurs`
                    --

                    CREATE TABLE `joueurs` (
                      `id` int(19) NOT NULL AUTO_INCREMENT,
                      `pseudo` varchar(250) NOT NULL,
                      `matche` varchar(250) NOT NULL,
                      KEY `id` (`id`)
                    );


                    Voilà les deux tables dont je te parle !

                    Après tu fais une page qui te permet d'écrire dans la table matches le nom des différents matches :

                    mysql_query ("INSERT INTO matches VALUES ('', '".$_POST['matche']."', '".$_POST['date']."')") or die (mysql_error ());


                    Puis une page où les joueurs choisisse s'ils veulent jouer :

                    // Tu affiches le formulaires pour qu'ils puissent choisir
                    // Puis tu entres leur choix
                    mysql_query ("INSERT INTO joueurs VALUES ('', '".$_POST['pseudo']."', '".$_POST['matche']."')") or die (mysql_error());


                    Et la dernière page, celle où tu affiches les matches :

                    mysql_query ("SELECT * FROM joueurs WHERE matche = '".$_GET['matche']."'") or die (mysql_error ());


                    Quelque chose qui ressemble à ça quoi ! Tu vois ce que je veux dire ?

                    => MAJ :
                    Tu essais de mettre tous les noms dans la même entrée...
                    C'est pas la meilleure solution à mon goût, mais dans ce cas, il te faut récupérer tous les pseudos, ajouter celui qui vient de s'inscrire pour le matche à la variable qui contiendra la totalité des pseudos, et faire un UPDATE pour changer le champ present par la variable des pseudos.... !

                    Pas évident.

                    Quant au champ absent, il n'est d'aucune utilité !
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [Erreur] Insertion Mysql

                    × 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