Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL+;PHP沿着一个干净的日期字段返回时间_Php_Mysql_Date - Fatal编程技术网

MySQL+;PHP沿着一个干净的日期字段返回时间

MySQL+;PHP沿着一个干净的日期字段返回时间,php,mysql,date,Php,Mysql,Date,MySQL上的表有几个日期类型的列,在phpMyAdmin和MySQL web front上浏览表时,我可以看到数据是普通日期 但是,当我在PHP上运行一个简单脚本时,其中一列返回的时间戳为YYYY-MM-DD 00:00:00 我将文件和数据库都迁移到了另一个系统,我再也不能重现这个bug了 这是由于PHP/MySQL的一些错误配置造成的,还是数据插入的方式可能导致数据损坏并查询时返回意外的时间戳 例如: 类似以下的查询: "SELECT `cf_719`,`cf_711` FROM `vti

MySQL上的表有几个日期类型的列,在phpMyAdmin和MySQL web front上浏览表时,我可以看到数据是普通日期

但是,当我在PHP上运行一个简单脚本时,其中一列返回的时间戳为YYYY-MM-DD 00:00:00

我将文件和数据库都迁移到了另一个系统,我再也不能重现这个bug了

这是由于PHP/MySQL的一些错误配置造成的,还是数据插入的方式可能导致数据损坏并查询时返回意外的时间戳

例如: 类似以下的查询:

"SELECT `cf_719`,`cf_711` FROM `vtiger_ticketcf` WHERE `ticketid`=682"
如果cf_719和cf_711都是日期类型,则返回

array(2) { ["cf_719"]=> string(19) "2015-04-08 00:00:00" ["cf_711"]=> string(10) "2015-04-08" } 

编辑:看来我找到了解决方案。问题是他们的phpMyAdmin应用程序中似乎存在一个bug,它将字段显示为“date”,然而,mysql命令行工具query DESC显示它是datetime类型。我甚至不知道应该从中学习什么-只相信命令行。

日期字段的值是
日期时间字段的一个特殊子集,包含午夜(00:00)的时间

我不知道为什么一个php实例只显示日期,而另一个实例显示日期和时间。但我知道这是不可预测的行为

通常需要在显示此类数据之前对其进行格式化,以便显示所需的分辨率。即使你想要时间,你也可能只想要小时和分钟

这个问答告诉您如何在php中实现这一点。像这样的东西会有用的

$timestamp = strtotime($row['DATETIMEAPP']);
$date = date('d-m-Y', $timestamp);

DATE
字段的值是
DATETIME
字段的一个特殊子集,包含午夜(00:00),时间应该在午夜

我不知道为什么一个php实例只显示日期,而另一个实例显示日期和时间。但我知道这是不可预测的行为

通常需要在显示此类数据之前对其进行格式化,以便显示所需的分辨率。即使你想要时间,你也可能只想要小时和分钟

这个问答告诉您如何在php中实现这一点。像这样的东西会有用的

$timestamp = strtotime($row['DATETIMEAPP']);
$date = date('d-m-Y', $timestamp);

你能显示你的代码或数据库表吗?因为它有一些敏感数据,所以不能提供太多,但我会尽可能多地提供来压缩问题。你能显示你的代码或数据库表吗?因为它有一些敏感数据,所以不能提供太多,但我会尽可能多地提供来压缩问题