Zur Navigation

Timestamp verändert sich bei Bearbeitung in der DB

1 tobi

Hallo,

habe ein Formular, welches mit folgender Query eingetragen Formularinhalte in einer Datenbank speichert.
...$mysqli_query = ' 
INSERT INTO `anmeldungen_2018_samstag`
(`vorname`, `nachname`, `geschlecht`, `geburtsjahr`, `ttr`, `email`, `verein`, `gemeldeteKlasse`, `anmerkung`, `timestamp`)
VALUES
(\'' . mysqli_real_escape_string($mysqli, $_POST['vorname']) . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['nachname']) . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['geschlecht']) . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['geburtsjahr']) . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['ttr']) . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['email']) . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['verein']) . '\', \'' . $_POST['turnierklasse'] . '\', \'' . mysqli_real_escape_string($mysqli, $_POST['eintrag']) . '\', NOW())';
        if (mysqli_query($mysqli, $mysqli_query)) 
...

Datum und Uhrzeit `timestamp` werden mittels NOW() in der Datenbank gespeichert.

Ein Auszug aus der DB:


Hier ein Auszug der DB bereits mit Inhalt:


Wenn ich nun händisch in der Datenbank etwas bei einem Eintrag korrigieren muß, dann verändert sich automatisch mein Datum und mein Uhrzeit auf das Aktuelle.
Kann ich dies irgendwie verhindern? Dies ist nämlich sehr nervig, da die Ursprungszeit der Meldeeingang ist und dieser dann verfälscht wird, nur weil ich notgedrungen etwas verändern mußte

Gruß Tobi

01.08.2018 08:08

2 Jörg

In der Funktionsspalte im Dropdown ist ein "now" vorausgewählt. Wenn du dort nichts auswählst, sollte das Datum nicht überschrieben werden.

phpMyAdmin (?) hat da diese Vorauswahl verrmutlich, weil als Default für die Spalte timestamp CURRENT_TIMESTAMP definiert ist

01.08.2018 10:34 | geändert: 01.08.2018 10:35

3 tobi

Alles klar, werde ich mal versuchen.

Was anderes. Kann ich problemlos in die Tabelle eine weitere Spalte in phpmyadmin hinzufügen, ohne dass dies zu Komplikationen führt?
Mit Komplikationen meine ich, kann es zu Problemen in meinem Formular kommen beim absenden? Die Spalte findet in der Formulardatei keine Beachtung. Das Feld in der Spalte würde dann leer bleiben?

01.08.2018 11:05

4 Jörg

Du musst einen passenden Default-Wert definieren für die Spalte. Dann wird dieser Wert bei einem INSERT-Statement eingefügt, welches diese Spalte nicht berücksichtigt.

Das Feld in der Spalte würde dann leer bleiben?

Das kommt darauf an, was du als "leer" definierst. Beim Typ VARCHAR könnte das ein leerer String sein. Bei Zahltypen, wie z.B. INT eher 0. Oder du lässt den NULL Wert zu, für "nicht ausgefüllt"

01.08.2018 14:54 | geändert: 01.08.2018 14:59

Beitrag schreiben (als Gast)





[BBCode-Hilfe]