私は宝探しのためにWebアプリケーションを開発中です。オンラインサーバへの接続はすべて正しく、アプリケーションは正常に動作しています。 mysqlデータベース。私のアプリケーションでphpとmysqlコードはlocalhostで動作しますが、オンラインサーバに問題があります
私は(終了時間)(終了時間)について(開始時間)とのセッションのためにセッションを登録すると、ユーザーがゲームを終了したことを意味します。
私は(終了時間を)この(終了時間)から勝者番号を取得し、そこに基づいて受賞者を整理しています
問題は、localhostの(XAMPPを使用して)私が手に勝者番号は正しく。私は私のホスティング(CPanelのとのLinux)に自分の作品をアップロードする場合、私は常に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 - –