2005-02-31 möglich einzugeben
am 08.11.2004 03:55:11 von Hubert Holler
Ich verwende eine mysql Datenbank für mein php Projekt und habe nun mal zum
Testen den 31.Februar 2005 in ein Datumsfeld eingegeben. Dies ist
funktioniert ohne Problemem - warum? Wie kann man dies unterbinden?
Mein select-Kommando:
"INSERT INTO t_feld (datum1) VALUES ('2005-02-31');"
Das Feld "datum1" ist ein Datumsfeld in der mysql Datenbank.
Vielen Dank für jede Antwort
Hubert
Re: 2005-02-31 möglich einzugeben
am 08.11.2004 15:22:26 von Michael Fesser
.oO(Hubert Holler)
>Ich verwende eine mysql Datenbank für mein php Projekt und habe nun mal zum
>Testen den 31.Februar 2005 in ein Datumsfeld eingegeben. Dies ist
>funktioniert ohne Problemem - warum?
MySQL unternimmt nur eine Bereichsprüfung (Jahr 1000..9999, Monat 1..12,
Tag 1..31). Abhängigkeiten zwischen dem Monat und der Anzahl der Tage
werden nicht berücksichtigt.
>Wie kann man dies unterbinden?
Prüfe es vorher in Deiner Applikation.
Micha
Re: 2005-02-31 möglicheinzugeben
am 12.11.2004 20:23:11 von Nobody
Am Mon, 08 Nov 2004 03:55:11 +0100 schrieb Hubert Holler:
> Ich verwende eine mysql Datenbank für mein php Projekt und habe nun mal
> zum Testen den 31.Februar 2005 in ein Datumsfeld eingegeben. Dies ist
> funktioniert ohne Problemem - warum? Wie kann man dies unterbinden?
>
> Mein select-Kommando:
> "INSERT INTO t_feld (datum1) VALUES ('2005-02-31');"
>
> Das Feld "datum1" ist ein Datumsfeld in der mysql Datenbank. Vielen Dank
> für jede Antwort
> Hubert
Validiere das Datum mit der PHP Funktion "checkdate()"
--
-------------------------------------------------------
Try this: SCA the Smart Class Archive for PHP
http://www.project-sca.org
-------------------------------------------------------
Re: 2005-02-31 möglicheinzugeben
am 12.11.2004 21:08:43 von Sven Drieling
Max wrote:
Hallo,
> Validiere das Datum mit der PHP Funktion "checkdate()"
.... und andere Gotchas
"MySQL Gotchas", 11-Jan-2004, sql-info.de
http://sql-info.de/mysql/gotchas.html
Text der Gotchas in MySQL auflistet und beschreibt.=20
Ein "Gotcha" ist ein Feature oder eine Funktion, welches so funktionier=
t wie
es dokumentiert ist aber nicht so wie man es erwartet, womit der Text
insbesonders Unterschiede von MySQL zu anderen Datenbanksystemen auflis=
tet.=20
Hierzu gehört, dass MySQL den 31. Februar als Datumsangabe akzeptiert=
und
speichert. Bei Datumsangaben muss daher das Programm sicherstellen, das=
s
die Angaben korrekt sind.
tschuess
[|8:)