2005-02-31 möglich einzugeben

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:)