这是我的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'];
?>
答案 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_time
与CURRENT_DATE()
进行比较时,都无法获得可靠的结果,因为它认为这两者来自同一时区。
要解决此问题,您应该在连接时设置服务器的时区。连接后,在执行任何操作之前运行以下查询(调整时区偏移量):
SET timezone = '+0:00'