Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
UNIX_TIMESTAMP() gibt nichts zurück [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
UNIX_TIMESTAMP() gibt nichts zurück


 
Luke
01-02-2004, 18:28 
 
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?

 
derHund
01-02-2004, 18:33 
 
hmm,

kann ich mal die generierte query sehen?ach nee, bringt ja auch nix .. sorry

 
derHund
01-02-2004, 18:39 
 
hmm,

will ja nicht nerven ;)

timestamp als spaltename? allgemein die spaltennamen ...

 
Luke
01-02-2004, 19:04 
 
Wo ist das Problem?

 
wahsaga
01-02-2004, 19:11 
 
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 ...)

 
Abraxax
01-02-2004, 19:15 
 
Original geschrieben von wahsaga
sowohl timestamp als auch text sind reservierte wörter in mysql, [...]user meine ich sogar auch... ;)

 
Luke
01-02-2004, 20:26 
 
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!

 
Luke
01-02-2004, 20:48 
 
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 )

 
Offe1
01-02-2004, 20:55 
 
Was har time_posted für einen Feldtyp?

Offe

 
derHund
01-02-2004, 20:56 
 
hmm,

welches format hat die spalte? bei mir geht so ein insert ohne zicken ....

drei mal das selbe :D

 
Luke
01-02-2004, 20:59 
 
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)

 
Luke
01-02-2004, 21:17 
 
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.

 
wahsaga
01-02-2004, 21:53 
 
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 ...


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:55 Uhr.