Hi,
Das ist der Wert, den du wieder zurückliest, aber bestimmt nicht der Wert, der an die DB übergeben wird.
Naja das kommt in der Tabelle an.
ja, nachdem der Wert dem Spaltentyp entsprechend gestutzt und gerundet wurde.
OK gerade getestet als
INT
geht es wieder. Und ja ich hab es aufFloat
gewechselt
Ohne vorher zu überlegen, ob der Wertebereich und vor allem die Genauigkeit ausreichen? Für diesen Fall sollte es dann wenigstens DOUBLE sein. Dieses Format kann etwa 15 gültige Dezimalstellen wiedergeben, das würde gerade eben reichen, um den Timestamp tatsächlich auf Mikrosekunden aufzulösen, wobei die letzten drei Nachkommastellen vermutlich nicht mehr so entscheidend sind.
function microtime_float() { list($milli_sec, $sec) = explode(" ", microtime()); return ((float)$milli_sec + (float)$sec); }
Warum so kompliziert? Lass dir doch den gewünschten Wert gleich von microtime() liefern, indem du den optionalen Parameter auf true setzt.
PS: Du tust etwas sehr Riskantes, wenn du Werte aus Benutzereingaben (POST) ungeprüft und unmaskiert an das DBMS übergibst. Beachte den Kontextwechsel!!
Naklar, kommt direkt nachdem die funktionalität steht.
Warum nicht gleich von Anfang an ordentlich?
Ciao,
Martin
Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
- Douglas Adams, The Hitchhiker's Guide To The Galaxy