我正在为寻宝寻找web应用程序所有连接到在线服务器都是正确的,应用程序工作正常,并保存并从/到网上获取数据mysql数据库。php和mysql代码在localhost上工作,但在线服务器存在问题
在我的应用程序注册(开始时间)和会话(结束时间)会话,其中(结束时间)意味着用户已经完成了比赛。
我正在从这里(结束时间)的冠军数和组织基础上有赢家(结束时间)
的问题是,本地主机(使用XAMPP)我得到的赢家号码正确。而如果我上传我的工作我的主机(Linux中的cPanel)我总是赢家为0(即使它不是第一个)
这是结果,我上网
而如果我在本地主机上我得到正确的赢家数量
这是代码来获得冠军:
function getWinner($uid, $set){
$db = new Db();
$winner = 0;
$query = "SELECT endtime FROM eid_race WHERE id = '$uid' AND endtime IS NOT NULL";
$result = $db->query($query);
if(sizeof($result) == 0){
$updateEndtime = "UPDATE eid_race SET endtime = UNIX_TIMESTAMP() WHERE id = '$uid'";
$db->execute($updateEndtime);
}
$query = "SELECT COUNT(id) FROM eid_race WHERE id <> '$uid' AND endtime IS NOT NULL AND endtime < (SELECT endtime FROM eid_race WHERE id = '$uid') AND questionset = '$set'";
$result = $db->query($query);
echo ' result: ' . $result[0][0];
if(sizeof($result) == 1){
$winner = $result[0][0];
echo ' winner: '.$winner;
}
echo ' winner after: '.$winner;
return $winner+1;
}
,当我直接测试上的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'
检查
current datetime
将与服务器的phpinfo()测试文件和比较PHP/MySQL的版本。 –@SumanSingh是对的,既然你正在处理'mysql'中的'datetime'和'timestamp',那么你应该检查服务器'timezone'和'date time settings'。 – Avishek
@SumanSingh ** localhost:** PHP版本5.6.15,mysql客户端API版本mysqlnd 5.0.11-dev,**联机服务器:** PHP版本5.3.29,mysql客户端API版本5.6.30 - –