Sehr, sehr merkwürdig: Ungewolltes Löschen mit UPDATE

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

  • Sehr, sehr merkwürdig: Ungewolltes Löschen mit UPDATE

    Hat irgendjemand schon mal sowas erlebt?

    Benutzer mit einer PIN schreiben über mehrere aufeinander folgende Formulare in einen Datensatz einer MySQL-DB nur mittels des UPDATE-Befehls. Alles läuft wunderbar aber irgendwann - und an immer unterschiedlichen Stellen - wird scheinbar ohne Grund der gesamte Datensatz also die ganze Zeile in der DB gelöscht!? In keinem Script wird DELETE überhaupt erwähnt!

    Bin dankbar für jede Hilfe...

  • #2
    glaskugel???

    Kommentar


    • #3
      mysql_error() gibt keine Fehlermeldung! Das ist ja so merwürdig!

      Kommentar


      • #4
        warum sollte es auch, wenn du nur updatest.

        sieht nach der fehlfunktion beim user aus

        aber mehr kann man nicht sagen.

        Kommentar


        • #5
          Hmmnnn ...

          ich glaube es liegt am "hurz" ... oder am "wrksfrgl" ... aber mehr kann man nur sagen wenn's ein SQL-Statement zu sehen gibt ... !
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            Tja das mit der Glaskugel verstehe ich als newbie wohl etwas langsam

            Aber wozu unnötig Quelltext posten, wenn die Geschichte 1000 Mal funktioniert und dann plötzlich beim 1001. Mal nicht mehr????

            Aber gut - hier mal etwas Futter:

            $connection =mysql_connect($server_ip,$user,$pw)or die("No access!");
            $db = mysql_select_db($dbe,$connection);
            $query= @mysql_query("SELECT pin from antworten WHERE pin='$pin'",$connection) or die('Select ist fehlgeschlagen!');
            $result = @mysql_fetch_array($query)or die('PIN ist ungültig!');

            Und mal exemplarisch ein UPDATE-Befehl:

            if ($here==13){
            $myarray = array("zustaend","zeichnun","umfang","infoflus","eingehal","sachmit","unterstu","umstaend","leerlauf ","abgegren","doppel","besprech","team");
            foreach($myarray as $myvariable)
            {
            $data = "UPDATE antworten SET $myvariable=' ' WHERE pin='$pin'";
            $erg = mysql_db_query($dbe,$data,$connection);
            if (mysql_error())
            {echo mysql_error();}};
            };

            Kommentar


            • #7
              Original geschrieben von lommy
              Aber wozu unnötig Quelltext posten, wenn die Geschichte 1000 Mal funktioniert und dann plötzlich beim 1001. Mal nicht mehr????
              wenn du das problem nicht lösen willst, dann brauchst du natürlich auch keinen quellcode zu posten ...

              und ob eine fehlerquote von (bis jetzt) unter einem promille für dich vernachlässigbar ist, musst du entscheiden.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Naja - klar möchte ich das Problem lösen. Und ich poste gerne den Quelltext (s.o.). Sorry - ich dachte nur, es könnte nicht unmittelbar am Quelltext liegen, wenn es immer wieder funktioniert und plötzlich an beliebiger Stelle zu einen beliebigen Zeitpunkt nicht... Aber wo kann der Fehler sonst sein? Gibt es Fehlerquellen in der DB? Ich habe diese auch schon mehrfach neu anglegt, auf Fehler überprüft und in phpmyadmin optimiert...

                Leider kann ich diesen Fehlerquotienten nicht akzeptieren, da ja dann wirklich alle Daten einer Person gelöscht werden inklusive Zugangsrechte!

                Wäre wirklich für eure Hilfe dankbar.

                Kommentar


                • #9
                  bist du sicher, dass die gelöscht werden, und nicht vielleicht nur leer irgendwo rumliegen?

                  Kommentar


                  • #10
                    100%-ig gelöscht. Auch in der SQL-Darstellung der DB ist nichts mehr davon zu sehen. Und in keinem Skript gibt es eine DELETE-Anweisung.

                    Kommentar


                    • #11
                      hmm, das wiederspricht sich ja irgendwo...
                      für meine verhältnisse muss ich passen...

                      Kommentar


                      • #12
                        Ja das sehe genauso... Trotzdem danke!

                        Kommentar


                        • #13
                          was ich mir noch vorstellen kann, ist das es bei deiner select abfrage hängt, hier bekommst du ja aufgrund der @ zeichen keine fehler.

                          mal ohne probiert?

                          bzw. wie sieht den deine tabellenstruktur aus, da du ja den tabellenwert mit '' löschst.
                          Zuletzt geändert von jochenj; 11.09.2003, 19:24.

                          Kommentar


                          • #14
                            Über das @ sind wir dann gestern auch noch gestolpert... Und siehe da: In einem einstündigen Test ist kein Datensatz mehr rausgeflogen! Das scheint es gewesen zu sein - hoffentlich.

                            Sehr guter Hinweis! Vielen Dank an jochenj.
                            ...und auch an die anderen...

                            Kommentar

                            Lädt...
                            X