Page 1 of 1

Was kann zu ungewolltem Datenverlust in Feldern führen?

Posted: 2006-10-29 14:28
by matthias
MySQL-Client-Version: 4.1.10a
phpMyAdmin - 2.9.0.2

Hallo zusammen,

ich betreibe ein Forum auf Basis phpbb. In der User-Tabelle hab ich eine Spalte hinzugefügt:

Feld: user_aufhoerdatum
Typ: INT
Länge/Set: 10
Kollation:
Attribute:
Null: not null
Standard: 0
Extra:
Kommentare:

In dieses Feld trage ich derzeit noch manuell einen UNIX-Zeitstempel ein. Im Profil erscheint dann das Aufhördatum und die berechnete Zeit der Abstinenz. Seltsamerweise verschwinden von einigen Mitgliedern diese eingetragenen Werte wieder und stattdessen steht dann wieder 0 im Feld. Die Mitglieder können an diesem Feld nichts ändern oder eintragen.

Hat jemand einen Tipp für mich, in welche Richtung ich suchen könnte?

Viele Grüße

Matthias

Re: Was kann zu ungewolltem Datenverlust in Feldern führen?

Posted: 2006-10-29 14:35
by Roger Wilco
Matthias wrote:Hat jemand einen Tipp für mich, in welche Richtung ich suchen könnte?
INSERT/UPDATE/DELETE Statements ohne Qualifizierung der Spaltennamen.

Re: Was kann zu ungewolltem Datenverlust in Feldern führen?

Posted: 2006-10-29 14:53
by matthias
Roger Wilco wrote: INSERT/UPDATE/DELETE Statements ohne Qualifizierung der Spaltennamen.
Danke! Da hab ich jetzt einiges an Buddelarbeit vor mir. In der usercp_viewprofile.php in der ich die Variable user_aufhoerdatum mit abfragen lasse steht nix von INSERT, UPDATE oder DELETE. Insofern werde ich mal checken wie das bei phpbb abläuft.

Ich könnt mir gut vorstellen, das der Fehler auftritt, bei Mitgliedern, die etwas anderes in Ihrem Profil ändern oder vielleicht auch nur so auf "Speichern" klicken. Selbst wenn dann vom Formular keine Wert für diese Variable übergeben wird, dann wird vielleicht ja "0" für Leer übergeben?! und somit der Ursprungswert in der Tabelle überschrieben. Das scheint der Ansatzpunkt zu sein, oder?

Viele Grüße

Matthias

Re: Was kann zu ungewolltem Datenverlust in Feldern führen?

Posted: 2006-10-29 15:18
by Roger Wilco
Matthias wrote:Ich könnt mir gut vorstellen, das der Fehler auftritt, bei Mitgliedern, die etwas anderes in Ihrem Profil ändern oder vielleicht auch nur so auf "Speichern" klicken. Selbst wenn dann vom Formular keine Wert für diese Variable übergeben wird, dann wird vielleicht ja "0" für Leer übergeben?!
Richtig, zumindest hast du die Spalte mit diesem Defaultwert angelegt (siehe dein 1. Post).
Matthias wrote:und somit der Ursprungswert in der Tabelle überschrieben.
Jein, ein Fehler beim Neueinfügen ist IMHO wahrscheinlicher, z. B. wenn die einzelnen Werte ohne Angabe der Spalte einfach in die Datenbank geknallt werden.