soupagain
soupagain

Reputation: 1133

PHP time() function returning random time shift of an hour

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.

Upvotes: 3

Views: 1013

Answers (1)

John Kugelman
John Kugelman

Reputation: 361645

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.

Upvotes: 2

Related Questions