tags:

views:

79

answers:

1

I have some PHP code that inserts a date into a table:

INSERT INTO tblEventLog VALUES  ...  date("Y-m-d H:i:s",time())  ...

The results of this are usually correct, but the occasional date is an hour behind:

315070  05-Sep-10 18:08
315069  05-Sep-10 18:07
315068  05-Sep-10 18:07
315067  05-Sep-10 18:06
315066  05-Sep-10 18:06
315065  05-Sep-10 17:04
315064  05-Sep-10 18:01

What could be causing this? There is only a single server.

EDIT:
Using NOW() Worked!
The problem was that one of the PHP pages was changing the timezone (when creating a RSS feed) and the PHP time() function was picking that up. Using the database to set the time fixed things.

+2  A: 

I'm not sure what could cause this. I'd recommend switching the column data type to DATETIME, though, and if you're just inserting the current time then use MySQL's NOW() function rather than grabbing the time in PHP. The more you can do directly in the database the better. Doing this might obviate this bug entirely.

John Kugelman
Or set the column's default value to `CURRENT_TIMESTAMP` and leave it out during inserts.
BoltClock
Both good suggestions, I'm trying the NOW() function, will see how it works.
soupagain