2017-08-12 115 views
-1

我創建了一個簡單的表單,並試圖存儲數據和時間(它已提交)。但它不起作用。它與我的系統時間和存儲時間有差異。系統時間和存儲時間之間的區別

date_default_timezone_set("Asia/Colombo"); 

function setReviews($con) { 
    if(isset($_POST['submit'])){ 
     $email=$_POST["email"]; 
     $rating = $_POST["rating"]; 
     $review=$_POST["review"]; 
     $category_id=2; 

     $sql="INSERT INTO review (category_id,email,rating,review,date,time) VALUES ('$category_id','$email','$rating','$review',CURDATE(),CURTIME())"; 

     if(!mysql_query($sql,$con)){ 
      echo "<script type='text/javascript'>alert('Email already exists')</script>"; 
     } 
     else{ 
      echo "<script type='text/javascript'>alert('Review submited')</script>"; 
     } 
    } 
} 
+0

你可以重寫你的問題?插入查詢是否工作,但插入了錯誤的日期? –

回答

0

CURDATE()和CURTIME()是mysql函數,因此默認情況下會佔用服務器時間。您正在使用

date_default_timezone_set("Asia/Colombo"); 

設置時區在PHP中,因此你需要需要使用:

date('Y-m-d') and date('Y-m-d H:i:s'); 

即PHP日期函數,而不是CURDATE()和CURTIME()

+0

你可以請加我的代碼,並給代碼顯示... – UDT

+0

我的問題是這個..我的系統(PC)的時間是8.17a.m. 14/08/2017。但我運行插入數據到我的PHP窗體。它將存儲9.45.p.m. 14/08/2017。所以你可以給我解決方案。 – UDT

+0

我還有一個問題,如果我提交斯里蘭卡表格。它會正常工作。但如果我在另一個國家提交。它保存了斯里蘭卡時間..它不正確地檢測時區。 – UDT

相關問題