2012-10-04 34 views
0

在我的代碼MySQL的時區設置爲美國/太平洋,那結果:設置TIME_ZONE不沾

Array ([0] => SYSTEM [@@global.time_zone] => SYSTEM [1] => US/Pacific [@@session.time_zone] => US/Pacific) 

然而,當我運行查詢多個時間有時會變化,如

Array ([0] => SYSTEM [@@global.time_zone] => SYSTEM [1] => US/Arizona [@@session.time_zone] => US/Arizona) 

然後有時候即使我已經將它設置我看到這個的時候我查詢

Array ([0] => SYSTEM [@@global.time_zone] => SYSTEM [1] => SYSTEM [@@session.time_zone] => SYSTEM) 

會話爲什麼失去我ts time_zone設置?大多數情況下,它返回正確的值/時區,但是第4或第5次查詢是錯誤的時區。這是一個很大的問題,因爲日期時間字段在返回時考慮到了這一點,從而導致我進一步使用日期時間。

回答

0

default_date_timezone_set函數集只能更改腳本的執行的時區。您可以將時區存儲在會話變量中,並將時區設置在每個頁面的頂部。

+0

你可以把它放在一個單獨的文件,並將其納入 – Chris

+0

這只是一個側面說明在PHP中,這個問題仍是MySQL的返回其設置,而隨機並在會話壽命的變化? – wolle