Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur MySQL

    30 août 2006 à 18:45:06

    Bonjour, j'ai un probleme avec mon code! c'est dans le minichat!


     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Mini-chat</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <style type="text/css">
        form
        {
        text-align:center;
        }
        </style>
        <body>


    <?php
    if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent
    {
        if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
        {
            // D'abord, on se connecte à MySQL
            mysql_connect("localhost", "yassoune2010", "xxx");
            mysql_select_db("yassoune2010");

            // On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table
            $message = htmlentities ($_POST['message']);
            $pseudo = htmlentities ($_POST['pseudo']);

            // Ensuite on enregistre le message
            mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");

            // On se déconnecte de MySQL
            mysql_close();
        }
    }


    // Que l'on ait enregistré des données ou pas...
    // On affiche le formulaire puis les 10 derniers messages

    // Tout d'abord le formulaire :
    ?>



    <form action="minichat.php" method="post">

    <p>
    Pseudo : <input type="text" name="pseudo" /><br />
    Message :  <input type="text" name="message" /><br />

    <input type="submit" value="Envoyer" />
    </p>

    </form>



    <?php

    // Maintenant on doit récupérer les 10 dernières entrées de la table
    // On se connecte d'abord à MySQL :
    mysql_connect("localhost", "xxx", "xxx");
    mysql_select_db("xxx");

    // On utilise la requête suivante pour récupérer les 10 derniers messages :
    $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");

    // On se déconnecte de MySQL
    mysql_close();

    // Puis on fait une boucle pour afficher tous les résultats :
    while ($donnees = mysql_fetch_array($reponse) )
    {
    ?>

    <p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p>



    <?php
    }
    // Fin de la boucle, le script est terminé !
    ?>


        </body>
    </html>


    et merci
    • Partager sur Facebook
    • Partager sur Twitter
      30 août 2006 à 18:46:09

      Boulet Spotted.
      Tous à vos armes !
      Topic à locker : Pas de politesses, titre dérisoire qui déforme le forum, aucune préçision sur le message, aucune préçision sur le titre.

      T'es Useless toi.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        30 août 2006 à 18:50:00

        T'as un ; sur la ligne du dessus?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          30 août 2006 à 18:53:43

          Il faut tout simplement mettre un or die(mysql_error()) après ta requête et tu sauras comment régler ton erreur :D
          • Partager sur Facebook
          • Partager sur Twitter
            30 août 2006 à 18:55:16

            Citation : Pl00b

            Boulet Spotted.
            Tous à vos armes !
            Topic à locker : Pas de politesses, titre dérisoire qui déforme le forum, aucune préçision sur le message, aucune préçision sur le titre.

            T'es Useless toi.



            Non mais quand après on voit certain user parfois énervés c'est normal vu le topic que l'on voit ...
            Memem pas de salut ni de aurevoir que voici la ligne...
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              30 août 2006 à 18:57:50

              J'pense pas que ce soit une bonne idée d'aider les boulets avant qu'ils ne corrigent leurs fautes...
              Apres ils risquent de recommencer vu qu'on les aides même si il font n'importe quoi...
              • Partager sur Facebook
              • Partager sur Twitter
                30 août 2006 à 18:57:51

                Non mais s'il vous plait, arrêter bordel !

                Vous parlez des autres qui ne respecte pas les régles, mais je crois que vous ce n'est pas mieux. Une petite citation pour vous rafraichir la mémoire ?

                Citation : Réglement

                Quand un topic vous semble de nature provocatrice ou sujette à polémique, ne postez pas dedans. Vous alimenteriez la polémique et augmenteriez le problème en jouant le modérateur. Ce type de comportement est très mal vu par les modérateurs, ils sont donc très sévères sur ce point. Passez votre chemin, et, au besoin, signalez le topic à un modérateur avec la fonction "Avertir un modérateur". Mais ne postez surtout pas.
                Incorrect : "Oulah je sens que ce topic va mal se finir. Si j'étais modérateur, je l'aurais déjà fermé."
                Correct : Ne pas poster de message. Utiliser la fonction "Avertir un modérateur".

                • Partager sur Facebook
                • Partager sur Twitter
                  30 août 2006 à 19:04:38

                  HAHAAaaa, super, on sait rien de ton code, de ta requete, t'es super gentil, on est pas des bots non plus ...
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    30 août 2006 à 19:08:56

                    Citation : Grout

                    HAHAAaaa, super, on sait rien de ton code, de ta requete, t'es super gentil, on est pas des bots non plus ...



                    Pas besoin de savoir son code pour lui dire de mettre un or die(mysql_error()); après sa requête SQL pour répérer l'erreur :p

                    Gaga971 > Tu peux m'expliquer pourquoi tu fais une faute dans le mot "vrai" ? :D
                    • Partager sur Facebook
                    • Partager sur Twitter
                      30 août 2006 à 19:10:09

                      Citation : Erreur SQL

                      Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /media/160go/hebergement/webomaroc.goldzoneweb.info/mini_chat.php on line 73



                      Alors voila, généralement, ça vient du fait que la table n'existe pas (Erreur la plus commune)

                      @+
                      • Partager sur Facebook
                      • Partager sur Twitter
                        30 août 2006 à 19:10:37

                        Citation : Luigi_home

                        Citation : Grout

                        HAHAAaaa, super, on sait rien de ton code, de ta requete, t'es super gentil, on est pas des bots non plus ...



                        Pas besoin de savoir son code pour lui dire de mettre un or die(mysql_error()); après sa requête SQL pour répérer l'erreur :p



                        Si, en lui meme, le code qu'il a mis est bon, c'est la requete qui n'est pas valide, donc on a besoin de la requete, c'est plus pratique ^^ .
                        (mais oui il faut mettre un or die(mysql_error()); dans tous les cas.)
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          30 août 2006 à 19:13:01

                          Citation : Grout

                          Citation : Luigi_home

                          Citation : Grout

                          HAHAAaaa, super, on sait rien de ton code, de ta requete, t'es super gentil, on est pas des bots non plus ...



                          Pas besoin de savoir son code pour lui dire de mettre un or die(mysql_error()); après sa requête SQL pour répérer l'erreur :p



                          Si, en lui meme, le code qu'il a mis est bon, c'est la requete qui n'est pas valide ^^



                          Bha voilà. Si c'est sa requête qui plante, pas besoin qu'il ne présente le code car si il met le or die(mysql_error()); après sa requête, il pourra règler le problème de par lui-même donc avec cette erreur, il est quasiment inutile d'exposer le code :)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            30 août 2006 à 19:18:21

                            Bah, c'était pour l'aider quand meme un peu si jamais il y arrivait pas solo =) .
                            • Partager sur Facebook
                            • Partager sur Twitter
                              30 août 2006 à 20:20:17

                              Le deuxieme mysql_close(); est placé trop tot, tu dois le mettre apres ta boucle ^^ ( c'est un impression , ou c'est la troiseme fois que je vois ce genre de topic a propos du minichat ? vais voir s'il est pas bug:/ )

                              ton code modifié :
                              <?php

                              // Maintenant on doit récupérer les 10 dernières entrées de la table
                              // On se connecte d'abord à MySQL :
                              mysql_connect("localhost", "xxx", "xxx");
                              mysql_select_db("xxx");

                              // On utilise la requête suivante pour récupérer les 10 derniers messages :
                              $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");


                              // Puis on fait une boucle pour afficher tous les résultats :
                              while ($donnees = mysql_fetch_array($reponse) )
                              {
                              ?>

                              <p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p>



                              <?php
                              }
                              // Fin de la boucle, le script est terminé !
                              // On se déconnecte de MySQL
                              mysql_close();
                              ?>


                              Edit : a bah oui, c'est le code de M@teo21 qui n'est pas bon ^^ .
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                30 août 2006 à 22:59:50

                                Nan il est bon le code de M@téo.

                                change en ça:

                                while ($donnees = mysql_fetch_array($reponse) or die(mysql_error())

                                Et dis nous ce que ça marque.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  30 août 2006 à 23:05:40

                                  Il est pas placé trop haut le mysql_close(); ?
                                  Parce que avant la boucle, ca fait byzarre ^^
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Anonyme
                                    30 août 2006 à 23:11:56

                                    Citation : TheDead Master

                                    Nan il est bon le code de M@téo.

                                    change en ça:

                                    while ($donnees = mysql_fetch_array($reponse) or die(mysql_eror());

                                    Et dis nous ce que ça marque.



                                    Ça va surtout lui envoyer une erreur indésirable...

                                    Le or die(mysql_error(); doit être placer après la fonction mysql_query, pas dans un while après mysql_fetch_array (et prend note qu'habituellement, on ne met pas un point-virgule à la fin du while ...)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Anonyme
                                      31 août 2006 à 0:39:36

                                      Citation : Luigi_home


                                      Ça va surtout lui envoyer une erreur indésirable...



                                      moi c'est ce que je fait pour débuger et ça marche. M'enfin, c'est sur après faut pas le laisser sinon le contenu de la boucle ne s'affiche pas...

                                      Citation : Luigi_home


                                      et prend note qu'habituellement, on ne met pas un point-virgule à la fin du while ...



                                      nan sérieux ? J'ai juste fait un copier coller et j'ai oublier de retirer le point-virgule c'est tout ;)
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Erreur 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