Ankündigung

Einklappen
Keine Ankündigung bisher.

Doppelter Eintrag

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Doppelter Eintrag

    Hallo, ich nutze folgenden SQL-Code, um in meine Tabelle einen Eintrag zu schreiben:
    PHP-Code:
    $sql "INSERT INTO `items` (`itemID` ,`itemname` ,`user` ,`used`)VALUES (NULL , 'Trank', 'mewking', '0');"
    Jedoch kommt es dann zu einem doppelten Eintrag. mysql_error() gibt dazu nichts aus und auch mysql_affected_rows gibt 1 zurück.
    Wo liegt da das Problem =?

  • #2
    Ich könnte wetten, du hast irgendwo ungewollt eine Schleife.
    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

    Kommentar


    • #3
      Nein, im Script ist keine Schleife.
      nopaste.info - free nopaste script and service
      /E: mit break versucht:
      Code:
      Fatal error:  Cannot break/continue 1 level in C:\xampp\htdocs\mewland.de\root\index.php  on line 434

      Kommentar


      • #4
        Wird $sql nochmals ausgeführt, ohne es vorher neu belegt zu haben?
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          nein, das hat nix gebracht ein $sql = '' zu definieren

          Kommentar


          • #6
            Dann wird vermutlich dein Script unbeabsichtigt zwei mal aufgerufen.


            Btw.:
            PHP-Code:
            $thing addslashes(htmlspecialchars($_GET['thing'])); 
            Das sieht so aus, als hätte da jemand wenig Ahnung, was er tut ...
            [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

            Kommentar


            • #7
              @chrisb:
              im header:
              PHP-Code:
              ini_set('magic_quotes_gpc'0); 
              dann bringt addslashes was

              Kommentar


              • #8
                Nein.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  Zitat von mewking Beitrag anzeigen
                  @chrisb:
                  im header: ini_set('magic_quotes_gpc', 0); dann bringt addslashes was
                  Mit dieser Aussage bestätigst du meine Vermutung, dass wenig Ahnung vorhanden ist.
                  [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

                  Kommentar


                  • #10
                    Zitat von mewking Beitrag anzeigen
                    Hallo, ich nutze folgenden SQL-Code, um in meine Tabelle einen Eintrag zu schreiben:
                    PHP-Code:
                    $sql "INSERT INTO `items` (`itemID` ,`itemname` ,`user` ,`used`)VALUES (NULL , 'Trank', 'mewking', '0');"
                    Jedoch kommt es dann zu einem doppelten Eintrag. mysql_error() gibt dazu nichts aus und auch mysql_affected_rows gibt 1 zurück.
                    Wo liegt da das Problem =?
                    Pack einfach eine ID dazu, die den Primary Index und Autoincrement erhält und schon ist die Sache erledigt. Sollte man sowieso nutzen!

                    Kommentar


                    • #11
                      Schlechte Lösung, weil Symptombekämpfung.

                      mit break versucht:
                      Eine Schleife kann bspw. auch durch ein mehrfaches Include eines Scripts eintstehen. Das solltest Du prüfen, bspw. nach der Query mal eine Testausgabe machen.
                      [COLOR="#F5F5FF"]--[/COLOR]
                      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                      [COLOR="#F5F5FF"]
                      --[/COLOR]

                      Kommentar


                      • #12
                        Aso, dachte, dass der Eintrag auch doppelt rein soll.

                        Dann entweder den Fehler in der Schleife suchen oder ganz einfach vorher eine Select-Abfrage mit LIMIT 0,1 zum Testen. Falls es den Datensatz schon gibt, einfach weitermachen, wenn nicht anlegen ...

                        Kommentar


                        • #13
                          Zitat von soundbear Beitrag anzeigen
                          ganz einfach vorher eine Select-Abfrage mit LIMIT 0,1 zum Testen. Falls es den Datensatz schon gibt, einfach weitermachen, wenn nicht anlegen ...
                          Das ist immer noch Symptombekämpfung.
                          [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

                          Kommentar


                          • #14
                            Wenn die Symptombekämpfung weniger CPU beansprucht und/oder übersichtlicher umzusetzen ist, sollte man diese vorziehen.

                            Aber wie auch immer: Er wollte Lösungen und keine Grundsatzdiskussion.

                            Kommentar


                            • #15
                              wie schon gesagt:
                              keine schleife!
                              ich habe jetzt herausgefunden was das problem war, jedoch nicht warum.
                              die seite ruft sich beim laden zweimal auf, aber ich finde dafür keine ursache außerhalb
                              des if-bereichs, da es ja bei allen ifs der fall ist.

                              Kommentar

                              Lädt...
                              X