php和mysql代码在localhost上工作,但在线服务器存在问题

php和mysql代码在localhost上工作,但在线服务器存在问题,php,mysql,cpanel,Php,Mysql,Cpanel,我正在为寻宝开发web应用程序,所有与在线服务器的连接都正确,应用程序工作正常,并从在线mysql数据库保存和获取数据 在我的应用程序中,我注册了一个会话作为开始时间,一个会话作为结束时间,其中结束时间意味着用户已经完成了游戏 我将从这个结束时间中获取赢家编号,并根据结束时间组织赢家 问题是,在使用XAMPP的本地主机上,我正确地获得了赢家号码。而如果我用CPanel将我的作品上传到我的主机Linux上,我总是会得到0作为赢家,即使它不是第一个 这就是我上网的结果 如果我在本地主机上,我会正确地

我正在为寻宝开发web应用程序,所有与在线服务器的连接都正确,应用程序工作正常,并从在线mysql数据库保存和获取数据

在我的应用程序中,我注册了一个会话作为开始时间,一个会话作为结束时间,其中结束时间意味着用户已经完成了游戏

我将从这个结束时间中获取赢家编号,并根据结束时间组织赢家

问题是,在使用XAMPP的本地主机上,我正确地获得了赢家号码。而如果我用CPanel将我的作品上传到我的主机Linux上,我总是会得到0作为赢家,即使它不是第一个

这就是我上网的结果

如果我在本地主机上,我会正确地获得赢家号码

以下是获得获胜者的代码:

当我直接在phpmyadmin上测试查询时,我得到了正确的结果,但php结果仍然为0

SELECT COUNT(id) FROM eid_race WHERE id <> '577dd5759fa67' AND endtime IS NOT NULL AND endtime < (SELECT endtime FROM eid_race WHERE id = '577dd5759fa67') AND questionset = 'A'
您可以在windows中的my.ini文件和linux和mac系统中的my.cnf文件上修改mysql的时区。 但我认为最好的解决方案是使用查询更改时区

 set time_zone = '+2:00';   --Timezone:Europe/Berlin

并使用select now检查当前日期时间

在服务器上放置一个带有phpinfo的测试文件并比较PHP/Mysql版本。@SumanSingh是对的,因为您在Mysql中处理日期时间和时间戳,那么您应该检查服务器时区和日期时间设置。@SumanSingh localhost:PHP版本5.6.15,Mysql客户端API版本mysqlnd 5.0.11-dev,在线服务器:PHP版本5.3.29,mysql客户端API版本5.6.30-@avishechat如何防止在线时区和本地主机之间的更改。localhost时区:欧洲/柏林,**在线服务器时区:**UTCRun SELECT COUNTid。。。。直接查询到phpmyadmin..我的本地主机时区为“+2:00”欧洲/柏林,联机为UTCchecking now SELECT*本地主机:*2016-07-07 08:43:12,**联机:*2016-07-07 13:43:49确定,然后运行查询设置时区=”+2:00”;我尝试在php上设置变量$end_time=time,并将其分配给endtime列,而不是UNIX_TIMESTAMP。还是没什么变化,请点击这篇帖子
 set time_zone = '+2:00';   --Timezone:Europe/Berlin