使用MySQL和PHP计算带有今天时间戳的记录

时间:2016-07-15 04:50:04

标签: php mysql

这是我的PHP代码,它在localhost中工作,但是当我在服务器上传时,它无法正常工作。从数据库获取数据需要1天。 我使用时间戳作为entry_time

<?php
require_once('connection.php');
$id=$_SESSION['SESS_MEMBER_ID'];
$query = mysql_query("select count(*) as Unread3 from s_daily_reporting where (mem_id='$id')&&(entry_time >= DATE_SUB(CURRENT_DATE(), INTERVAL 0 DAY))");
$data2= mysql_fetch_array($query);      
echo $sum=8-$data2['Unread3'];
?>

2 个答案:

答案 0 :(得分:0)

您必须在开始时添加您所在国家/地区的日期默认时间,否则将考虑标准时间。

印度HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); MultiValueMap<String, String> map= new LinkedMultiValueMap<String, String>(); map.add("email", "first.last@example.com"); HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(map, headers); ResponseEntity<String> response = restTemplate.postForEntity( url, request , String.class ); 的例子。您可以在Google中检查您的国家/地区默认时间,并在开始时添加

答案 1 :(得分:0)

CURRENT_DATE()已经在午夜为您提供当前日期。如果你想要同一天的记录,你不需要减去任何东西

entry_time >= DATE_SUB(CURRENT_DATE(), INTERVAL 0 DAY)

可以简单地

entry_time >= CURRENT_DATE()
  

它在localhost中工作但是当我在服务器上传时它就是   在数据库数据

之前1天没工作

无论您是在本地主机还是现场,都应该对您的结果没有任何影响。如果您确认代码在本地运行,则问题可能是entry_time存储的时区偏移量与服务器的当前时区不同。如果数据是在另一台服务器上构建然后传输到当前服务器,或者是从远程位置保存连接到MySQL服务器的数据的应用程序,则尤其如此。无论哪种方式,当服务器将entry_timeCURRENT_DATE()进行比较时,都无法获得可靠的结果,因为它认为这两者来自同一时区。

要解决此问题,您应该在连接时设置服务器的时区。连接后,在执行任何操作之前运行以下查询(调整时区偏移量):

SET timezone = '+0:00'