我住在斯里蘭卡。我有這段代碼來記錄無效登錄完成時的當前日期和時間。PHP mySQL CURRENT_TIMESTAMP在cPanel數據庫中顯示的時間不正確
$insert_query = "INSERT INTO LoginAttempt(IpAddress, LoginAt) VALUES('". $_SERVER['REMOTE_ADDR']. "', CURRENT_TIMESTAMP)";
我已經上傳到hostinger.co.uk這是免費的webhosting服務的教育目的。
成功插入表中。它顯示日期正確。但時間比實際時間少5小時30分鐘。 有沒有辦法改變cPanel中的時區或以編程方式在PHP腳本中?
我試過的東西;
1)加入此。但不起作用! date_default_timezone_set( '亞/科倫玻');
另一個使用DATE_ADD
函數來添加特定缺失小時的功能。
你還有什麼想法?謝謝
MySQL表;
CREATE TABLE LoginAttempt(
LoginId INT NOT NULL AUTO_INCREMENT,
IpAddress VARCHAR(20) NOT NULL,
LoginAt DATETIME NOT NULL DEFAULT NOW(),
PRIMARY KEY(LoginId)
);
解決方案奏效!!!!
$insert_query = "INSERT INTO LoginAttempt(IpAddress, LoginAt) VALUES('". $_SERVER['REMOTE_ADDR']. "', CONVERT_TZ(NOW(), 'UTC', 'Asia/Colombo'))";
所以你想更新日期時間或只是爲「SELECT」查詢? –
http://stackoverflow.com/a/19069310/4248472 – Zimmi
@YahooI想用正確的時區更新數據庫表,而不是選擇。最後,我發現由Ollie Jones用戶 –