Was kann zu ungewolltem Datenverlust in Feldern führen?

MySQL, PostgreSQL, SQLite
matthias
Posts: 31
Joined: 2002-06-16 16:53
Location: München

Was kann zu ungewolltem Datenverlust in Feldern führen?

Post by matthias » 2006-10-29 14:28

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

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

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

Post by Roger Wilco » 2006-10-29 14:35

Matthias wrote:Hat jemand einen Tipp für mich, in welche Richtung ich suchen könnte?
INSERT/UPDATE/DELETE Statements ohne Qualifizierung der Spaltennamen.

matthias
Posts: 31
Joined: 2002-06-16 16:53
Location: München

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

Post by matthias » 2006-10-29 14:53

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

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

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

Post by Roger Wilco » 2006-10-29 15:18

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.