Archiv verlassen und diese Seite im Standarddesign anzeigen : UNIX_TIMESTAMP() gibt nichts zurück
hmmm... wenn ich in der Konsole SELECT UNIX_TIMESTAMP(); mache liefert es mir einen Wunderschönen timestamp. In meinem PHP Script
INSERT INTO ".$pagename." (user, timestamp, text)
VALUES ('".$user."', UNIX_TIMESTAMP(), '".$text."')
(die variablen müssen euch ja nicht jucken) trägt er jedoch immer nur 00000000000000 in die Datenbank ein... . Woran liegt's?
hmm,
kann ich mal die generierte query sehen?ach nee, bringt ja auch nix .. sorry
hmm,
will ja nicht nerven ;)
timestamp als spaltename? allgemein die spaltennamen ...
Original geschrieben von Luke
Wo ist das Problem?
sowohl timestamp als auch text sind reservierte wörter in mysql, also sollte man sie nicht als spaltennamen verwenden. (wenn's doch sein muss, dann muss man sie in `backticks`setzen. aber besser, du lässt es gleich bleiben ...)
Original geschrieben von wahsaga
sowohl timestamp als auch text sind reservierte wörter in mysql, [...]user meine ich sogar auch... ;)
ja, ihr seit weise und hattet Recht. Und da es tatsächlich Menschen geben soll die das Forum hinsichtlich Recherchezwecken durchsuchen, hier noch mal passende Link zum Omniwissenden MySQL-Manual:
http://www.mysql.com/doc/de/Reserved_words.html
user ist nicht dabei, timestamp schon
KRANK! Ich hab 'timestamp' jetzt auf 'time_posted' abgeändert, und es geht immer noch nicht! Hilfe!
Ok, ein gannz simpler Versuch: Ich tippe in die Konsole
SELECT UNIX_TIMESTAMP();
...ich bekomm den aktuellen timestamp.
ich tipp ein:
INSERT INTO HOME (time_posted) VALUES (UNIX_TIMESTAMP());
Und was trägt er wohl ein? -Warum gibt die funktion da nix zurück? Es sollte doch gehen! NOW(), z.B. , zickt ja auch nicht rum!
Coragon Rivito 01-02-2004, 20:55 lass mich raten .. du hast das feld als date_time ( oder wie das heisst ) definiert ? versuch mal int(11) .. funktioniert am besten ..
denn date_time erwartet einen YYYYMMDDHHMMSS string ( oder so )
Was har time_posted für einen Feldtyp?
Offe
hmm,
welches format hat die spalte? bei mir geht so ein insert ohne zicken ....
drei mal das selbe :D
timestamp. Gerade eben hab ich den eigentlichen Zweck von dem Feldtyp 'timestamp' erfahren... aber sag du mir trotzdem nochmal was/ob du bedenken hast, bzw. wie MySQL damit arbeitet.
Diese Antwort bezog sich auf Olles Post, aber bitte fühlt euch trotzdem angesprochen (falls ihr euch über die Formulierung wundert)
Wie praktisch wenn man einen IT-Profi als Vater hat :D. Wie ich eben bereits erwähnte erklärte er mir den eigentlichen Zweck und die funktionsweise von Timestamp-Datentypen. Ohne das jetzt groß nochmal wiederzugeben: Ignoriert man das Feld timestamp beim hinzufügen eines Datensatzes, wird automatisch der aktuelle timestamp eingetragen (das kann dann als Datenbankweite Unique-ID benutzt werden).
Komisch, der trägt nicht den aktuellen timestamp, sondern irgend was anderes ein, was die Funktionsweise von timestamp nochmal bestätigt. Tja, muss ich wohl ein anders Format wählen.
Original geschrieben von Luke
Komisch, der trägt nicht den aktuellen timestamp, sondern irgend was anderes ein[/EDIT]
doch, er trägt die aktuelle zeit ein - aber im timestamp-format von mysql. und das ist wieder ein anderes, als der unix-tiemstamp.
wie schon gesagt, wenn du den unix-timestamp haben willst, dann nimm als spaltentyp int.
aber denk dann da dran, dass du dann den unix-timestamp von php aus beim insert mitgeben musst, oder auf NOW() noch UNIX_TIMESTAMP() anwenden ...
|
|