【问题标题】:php changed database date valuephp更改数据库日期值
【发布时间】:2016-11-18 17:50:48
【问题描述】:

查看这段代码:

$values = $mysqli->query("select * from `my_table`");
while($value = $values->fetch_array()) {
   print_array($value);
}

但是具有日期结构的一列会这样做:

[8] => 2016-11-20
[date] => 2016-10-02 15:52:18

如您所见,8 与日期的值不同,但它们应该是相同的值,因为它是同一行中的同一列。 如何更改“日期”?

预期结果 = 2016-11-20,因为这与我的数据库中存储的值相同

关于我的桌子的信息: 它有 8 个不同的列,其中包含所有有效的东西。第 8 个字段名为“日期”,类型为“日期”

结论:不知何故我的输出是日期时间(虽然错误的时间和日期),而它应该是日期

【问题讨论】:

  • @RazibAlMamun 这是不可能的,因为 $value 仅在 while 循环中设置
  • 抱歉错过了
  • 您的预期结果是什么?
  • 预计2016-11-20
  • 它是什么类型的列?你能做到DESCRIBE my_table并将输出粘贴到你的问题吗?

标签: php mysql date


【解决方案1】:

根据您的 MySQL 版本,“DATE”列类型似乎有些歧义(至少对我而言)。从您的结果看来,DATE 是 DATETIME 的别名,但 MySQL 对结果做了一些截断。

因此,一种解决方法.. 不要使用 * ,而是指定您的列名,并在第 8 列上,使用 DATE 函数仅检索日期部分。

select `col1`, `col2`, ..., DATE(`col8`) from `my_table`");

【讨论】:

  • 谢谢,我太笨了,但是是的,正在从多个表中收集数据
猜你喜欢
  • 1970-01-01
  • 2020-05-02
  • 2016-04-16
  • 2020-01-18
  • 2017-03-06
  • 1970-01-01
  • 2016-01-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多