[MySQL/PHP] Aktuelles Datum in DB schreiben

Alphawolf

Grünschnabel
Hallo liebes Forum! ;)

Zunächst: Ich bin ein ziemlicher PHP/MySQL-Anfänger, also bitte seht mir meine Frage nach. :)
Bis jetzt ging meine Lernkurve ziemlich steil nach oben, doch jetzt macht sie einen ziemlichen Knick! Ich versuche, per Formular in eine SQL-DB zu schreiben, was bis jetzt alles geklappt hat. :)
Jedoch schaffe ich es irgendwie nicht, in ein Feld der DB das aktuelle Datum zu schreiben.
Mein jetziger Code sieht wie folgt aus:
PHP:
$timet = date();
$deinname = $_POST['deinname'];
$deinwunsch = $_POST['deinwunsch'];
$bemerkung = $_POST['bemerkung'];
if(!mysql_query("INSERT INTO `wishlist` SET `name`='".$deinname."', `wunsch`='".$deinwunsch."', `bemerkung`='offen' ', `aktdatum`='".$timet."' "))
	 die('Fehler! SQL-Befehl ist falsch');
Das Feld aktdatum habe ich in der DB auf den Datentyp date gesetzt.
Wenn ich jetzt aber einen Eintrag mache, erscheint folgende Meldung:
Warning: Wrong parameter count for date()
und bezieht sich dabei auf diese Zeile: $timet = date();

Was mache ich falsch?

Ich danke im Vorraus,
Oli
 
Hi

Selber halte ich den Timestamp der Aktionen mit, benutze also time() und schieb diese Zahl in ne DB.
Verbraucht wohl mehr Speicher, als DATE oder sowas, aber time() bekomme ich wenigstens zum Laufen :-(
Mit $datumsstring=date("d.m.Y H:i:s",$timestamp); bekomme ich mein Datum wieder zurück in der Form 02.07.2005 12:50:26, die Spalte nenne ich dann am/um.

MfG
 
Habs mir mal komplett durchgelesen ... floß da Blut :confused: *hehe*
Als einziges Argument lasse ich da mal 2037 gelten, hat aber hiermit nix zu tun.
Ich bleib erstmal bei INT ... hab ja noch über 30 Jahre zeit, den Script umzustricken :suspekt:

Denke, zum Speichern von Datum's-Zeugs ist hpvw bestens geeignet, hatte zumindest den Eindruck.

MfG
Posti
 
Hey, Ihr Zwei. ;)

Vielen Dank für die Hilfe. Auch wenn ich nicht so recht verstehe, was ihr so sagt bzgl. PHP und SQL. Aber ich merk schon, dass ich noch viel viel zu lernen habe. :D

Ich habe es jetzt hinbekommen mit NOW(). Jetzt versuche ich noch die Zeit wieder auszugeben, aber das versuch ich alleine. ;) Und danke für den tollen Link!

Hier wird man bestens geholfen. :p
Oli
 
Zuletzt bearbeitet:
Achtung, Falle:
Nur ein Tipp, wo ich mal ziemlich eingefahren bin:

Wenn Du die Timestamp Funktionen von MySQL verwendest und der MySQL Server und der Apache (oder wo auch immer dein PHP Preprocessor läuft) zwei getrennte Maschinen sind, ist es sehr leicht möglich, dass die beiden Systemzeiten nicht synchron laufen.

Bin mit diesem Problem mal ziemlich gegen die Wand gerannt. Wird vor allem dann ein Problem, wenn Du zeitkritische Anwendungen schreibst. Bzw. die in der Datenbank gespeicherten Zeiten mit denen der PHP Maschine vergleichst (ein Unterschied von ein paar Sekunden kann sich da schon fatal auswirken).

Seitdem verwende ich immer die PHP Funktionen, um ein Datum in der DB zu speichern...

LG
Mike
 
Hallo Mik3e,

Wenn du mich meintest: Bei mir dürfte das kein Problem sein, da ich nichts vergleiche oder dergleichen. Ich habe lediglich eine kleine Liste geschrieben, bei der die neuesten Einträge zuoberst gelistet sein sollen. Daher brauchte ich die Zeit--Daten des Eintrags, um es sortieren zu können. :)

Falls du mich nicht meintest: Einfach weglesen. :D

LG
Oli
 
Mik3e hat gesagt.:
Achtung, Falle:
...
von MySQL verwendest und der MySQL Server und der Apache (oder wo auch immer dein PHP Preprocessor läuft) zwei getrennte Maschinen sind, ist es sehr leicht möglich, dass die beiden Systemzeiten nicht synchron laufen
....
Seitdem verwende ich immer die PHP Funktionen, um ein Datum in der DB zu speichern...
Nicht, dass es jetzt die perfekte Lösung sein soll, aber es ist kein Problem, die Zeit vom MySQL-Server auszulesen:
Code:
SELECT NOW() AS `jetzt`
Zugegeben, es ist ein Workaround, allerdings ist es in den meisten Fällen, in denen aktuelle Zeiten mit Zeiten aus der Datenbank verglichen werden müssen so, dass dies direkt im SELECT-Query geschehen kann.

Gruß hpvw
 
Zurück