【问题标题】:Wrong date/time in MySQL queryMySQL 查询中的错误日期/时间
【发布时间】:2015-08-14 17:33:50
【问题描述】:

我在向 MySQL 数据库添加正确的日期/时间时遇到问题。

我的 MySQL 查询是:

mysql_query("INSERT players SET time=NOW()") or die(mysql_error());

正确的时间是(2015-08-14 19:27:05)使用:

echo date("D M d, Y G:i a");

但 DB 中的输入是:( 2015-08-14 13:28:04 ) - 使用 DATETIME 字段。

我已经添加了以下代码,但它不起作用:

<?php
     date_default_timezone_set('Europe/Copenhagen');
?>

我不明白为什么我的 PHP 会回显正确的时间,但是当将它添加到数据库时它会更改时间。有什么建议吗?

【问题讨论】:

  • 您是否正确设置了数据库中的时区?
  • php 可能运行在与数据库不同的服务器上,并且服务器设置为不同的时间。
  • php和mysql即使在同一台服务器上也可以有不同的时间概念
  • 我没有对服务器的 root 访问权限,我该如何设置时区? (我正在使用 000webhost.com)

标签: php mysql time


【解决方案1】:

建立连接后运行这两个很好:

date_default_timezone_set( 'Europe/Copenhagen' );
mysqli_query( $mysqli, "SET time_zone='" . date( 'P' ) . "'" );

【讨论】:

    【解决方案2】:

    我让它工作了:

    mysql_query("INSERT players SET time='" . date("D M d, Y G:i a") . "'"  or die(mysql_error());
    

    【讨论】:

      猜你喜欢
      • 2015-06-17
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多