2017-08-12 116 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

相关问题