我有一個關於mysql時區的奇怪問題。如何正確設置mysql時區
在我的網站上的配置文件,我有這行設置時區:
mysql_query("SET SESSION time_zone = '$offset';"); // Offset is properly calculated, no worries about that
有趣的是,如果我添加其他行之後這種權利像這樣:
$q = mysql_query("SELECT NOW() as now");
$row = mysql_fetch_array($row);
echo $row["now"];
執行後該代碼,時間顯示正確。
但是,在其他一些查詢中,我在具有名爲date的列的表中插入行,該列默認爲CURRENT_TIMESTAMP。
行插入這樣的:
INSERT INTO `sessions` (`user_id`) VALUES `1`
(會話表具有date
欄默認爲CURRENT_TIMESTAMP)
但插在DB值仍然指向回服務器的時區: ((
任何想法如何通過這個工作?
當你說數據庫中插入的值指向服務器時區時,如何檢查?另外,雖然你做了'SET SESSION time_zone'技巧的連接? – Romain
是否在運行'INSERT'之前關閉連接? – ManseUK
我在phpMyAdmin上檢查它,並且在腳本執行結束之前,nope連接沒有關閉 –