Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme avec mysql

je n'arrive pas à modifier une entrée

Sujet résolu
    23 juin 2006 à 11:13:33

    Bonjour bonjour !

    Je n'ai pas fait de php depuis longtemps, et je profite des vacances pour m'y remettre. Seulement il semblerait que j'ai perdu quelques petits trucs...


    <?php
    if (isset ($_POST['texte'])){
            $texte = $_POST['texte'];
            $texte = nl2br ($texte);
            $texte = str_replace ("'", "\'", $texte);
            mysql_connect ("localhost", "root", "");
            mysql_select_db ("mon_accueil");
            mysql_query ("UPDATE textes SET texte='$texte' WHERE ID='1'") or die(mysql_error());
            mysql_close ();
            }
    else {}
     ?>


    Le problème, c'est qu'il n'y a pas de problème... Mais il refuse absolument d'aller modifier ma BDD. Et je n'arrive décidément pas à comprendre pourquoi.
    Si quelqu'un pouvait m'aider :euh:
    Merci ! :)
    • Partager sur Facebook
    • Partager sur Twitter
      23 juin 2006 à 11:21:57



      <?php
      if (isset ($_POST['texte'])){
              $texte = $_POST['texte'];
              $texte = nl2br ($texte);
              $texte = str_replace ("'", "\'", $texte);
              mysql_connect ("localhost", "root", "");
              mysql_select_db ("mon_accueil");
              mysql_query ("UPDATE textes SET texte='".$texte."' WHERE ID='1'") or die(mysql_error());
              mysql_close ();
              }

       ?>


      Essay ca ;)

      Sinon pas besoin de mettre else() si c'est vide ;)
      • Partager sur Facebook
      • Partager sur Twitter
        23 juin 2006 à 11:22:58



        <?php
        if (isset ($_POST['texte'])){
                $texte = $_POST['texte'];
                $texte = nl2br ($texte);
                $texte = str_replace ("'", "\'", $texte);
                mysql_connect ("localhost", "root", "");
                mysql_select_db ("mon_accueil");
                mysql_query ("UPDATE textes SET texte='".$texte."' WHERE ID='1'") or die(mysql_error());
                mysql_close ();
                }

         ?>


        Essay ca ;)

        Sinon pas besoin de mettre else() si c'est vide ;)

        EDIT: désolé pour le double post, et dailleur, comment j'ai fais ca? o_Oo_O
        • Partager sur Facebook
        • Partager sur Twitter
          23 juin 2006 à 11:53:07

          merci pour ta réponse (en double!!) :p
          J'essaye ça et je te dis. Mais je crois malheureusement que j'ai déjà essayé sans succès. Enfin bon je vais voir !

          EDIT : j'ai essayé, et effectivement ca ne fonctionne pas... Cela peut-il avoir un rapport avec le fait que je n'ai qu'une entrée dans la table textes ? (Mais l'ID c'est le bon, j'ai verrifié !)
          • Partager sur Facebook
          • Partager sur Twitter
            24 juin 2006 à 8:04:27

            non, décidément je ne vois pas d'où cela peut venir.

            Quelqu'un a-t-il une idée ?? :)
            • Partager sur Facebook
            • Partager sur Twitter
              24 juin 2006 à 8:16:19


              <?php
              if (isset ($_POST['texte'])){
                      $texte = $_POST['texte'];
                      $texte2= nl2br ($texte);
                      $texte3= str_replace ("'", "\'", $texte);
                      mysql_connect ("localhost", "root", "");
                      mysql_select_db ("mon_accueil");
                      mysql_query ("UPDATE textes SET texte='".$texte3."'") or die(mysql_error());
                      mysql_close ();
                      }

               ?>


              Peut être...
              • Partager sur Facebook
              • Partager sur Twitter
                24 juin 2006 à 8:44:34

                non, il veut toujours pas.

                Mais on ne doit pas toujours mettre un where avec update ?

                // J'ai essayé avec un WHERE ID='1', ca ne fonctionne pas non plus.
                beuh, mais qu'est-ce qu'il a ???
                • Partager sur Facebook
                • Partager sur Twitter
                  24 juin 2006 à 8:55:53

                  Met :

                  derrière ta requête.
                  Et si tu as toujours rien, en début du script, colle :

                  et la je peux t'assurer que tu auras quelque chose ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 juin 2006 à 9:11:55

                    euh, merci pour ta réponse, mais je suis pas sure d'avoir compris comment l'utiliser.
                    J'ai fait :
                    if (isset ($_POST['texte'])){
                            $texte = $_POST['texte'];
                            $texte2= nl2br ($texte);
                            $texte3= str_replace ("'", "\'", $texte);
                            mysql_connect ("localhost", "root", "");
                            mysql_select_db ("mon_accueil");
                            mysql_query ("UPDATE textes SET texte='".$texte3."' WHERE ID='1'"); echo mysql_error();
                            mysql_close ();
                            }


                    et comme ca ne changeait rien, j'ai essayé selon ton conseil
                    error_reporting(E_ALL);
                            if (isset ($_POST['texte'])){
                            $texte = $_POST['texte'];
                            $texte2= nl2br ($texte);
                            $texte3= str_replace ("'", "\'", $texte);
                            mysql_connect ("localhost", "root", "");
                            mysql_select_db ("mon_accueil");
                            mysql_query ("UPDATE textes SET texte='".$texte3."' WHERE ID='1'");
                            mysql_close ();
                            }


                    Mais est-ce que c'est bien ce que tu me conseillait de faire ?? En tous cas, cela n'a malheureusement rien changé.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 juin 2006 à 9:19:33


                      error_reporting(E_ALL); // début du script avant toute chose

                      if (isset ($_POST['texte']))
                      {
                         $texte = $_POST['texte'];
                         $texte2= nl2br ($texte);
                         $texte3= str_replace ("'", "\'", $texte);
                         
                         // ouverture d'une connexion
                         mysql_connect ("localhost", "root", "");
                         mysql_select_db ("mon_accueil");
                         
                         mysql_query ("UPDATE textes SET texte='".$texte3."' WHERE ID='1'");
                         echo 'Erreur : '.mysql_error();

                         // fermeture de la connexion
                         mysql_close ();
                      }

                      Hésite pas à indenter ton code , l'aérer et le commenter.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 juin 2006 à 9:29:39

                        toujours rien...

                        Oui, pour les commentaires et l'aération tu as raison, mais quand ca fait juste quelques lignes ensemble, en général je mets trop rien parce que je me rappelles bien.
                        Mais en tous cas, c'est vrai que j'ai pas pensé, c'est toujours plus agréable quand tu demandes de l'aide pour ceux qui vont lire ton code. Je le ferai la prochaine fois ;)

                        Mais ca commence à m'inquiéter. Modifier une entrée, c'est pourtant simple, non ? Est-ce que quand il ny'a qu'une entrée dans la table mysql décide que ce n'est pas possible ?
                        (Je sais pas mais je crois que le fait que je ne comprenne toujours pas me pousse à aller chercher des raisons un peu ailleurs que dans mon code. :p )

                        EDIT : poussée par je ne sais quelle intuition stupide, j'ai donc rajouté une entrée dans la table, et bien entendu, cela n'a rien changé. C'est presque désespérant cette affaire !
                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 juin 2006 à 9:39:38

                          if (isset ($_POST['texte']))
                          {
                             $texte = nl2br($_POST['texte']);
                             $texte = addslashes($texte);
                             
                             // ouverture d'une connexion
                             mysql_connect ("localhost", "root", "");
                             mysql_select_db ("mon_accueil");
                             
                             mysql_query ("UPDATE textes SET texte='".$texte."' WHERE ID=1") or die('Erreur : '.mysql_error());
                            // fermeture de la connexion
                             mysql_close ();
                          }
                          else
                          {
                             echo "La condition n'est pas respectée, je ne modifierai pas la BDD pour toi !";
                          }
                          • Partager sur Facebook
                          • Partager sur Twitter
                            24 juin 2006 à 9:44:58

                            Ca fonctionne !!! :p
                            Mais ce que je ne comprends pas, c'est pourquoi cela ne fonctionnait pas avant o_O

                            en tous les cas merci beaucoup à tous ceux qui m'ont aidé !

                            EDIT : Je viens de comprendre. ce n'est pas seulement bête, là c'est carréement stupide. Que je vous explique. Mon script php, je l'avais mis sur la page du formulaire. Mais, bien entendu, je n'envoyais pas mon formulaire sur cette page mais sur une autre. du coup, j'ai réessayé avec le script du début, qui fonctionne ! >_<
                            Merci encore de m'avoir aidé, surtout que là, je me sens vraiment stupide d'avoir dérangé du monde pour ça.
                            Enfin, merci !!
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Probleme avec 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