DB schreibt falschen wert
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
SQL-Befehl: INSERT INTO events (user, time, type, villages) VALUES (1, 1270633623607, 'palace', 1)
in der DB steht dann aber:
ID=125
user=1
time=2147483647
type=palace
villages=1
Die Zeit wird mit einer bestimmten Formel berechnet in eine Variable gespeichert und diese dann in den SQL-Befehl ausgegeben. Der SQL-Befehl habe ich extra noch mit echo() ausgegeben um zu überprüfen ob der Fehler im meinem Code steckt. Die Felder in der DB haben den Typ INT und eine Länge von 14.
Kann mir vielleicht einer schreiben wo mein fehler ist. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Sieht so aus, als ob die Spalte time ein Timestamp als Typ hat und kein Int oder on_update_current_timestamp aktiviert ist. Jedenfalls wird der aktuelle Timestamp geschrieben und nicht die von dir übergebene Variable.
-
Der Typ ist INT und on_update_current_timestamp ist deaktiviert und 2147483647 ist nicht der aktuelle timestamp ,der ist zurzeit 1270548336.
-
die zahl 1270633623607 ist zu groß für den datentyp int. int geht nur bis 2147483647. und genau das ist die zahl die eingefügt wird. wenn du größere zahlen verwenden willst, musst du den datentyp auf bigint umstellen.
mehr zu den datentypen und deren "fassungsvermögen" findest du hier: http://dev.mysql.com/doc/refman/5.1/de/numeric-types.html
mfg -
Da hätte ich selber drauf kommen können.
Mit BIGINT funktioniert es
Danke nochmal
Beitrag zuletzt geändert: 6.4.2010 12:35:44 von josefliedl -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage