2016-11-18 60 views
0

审查这段代码:PHP改变数据库的日期值

$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名不同的列。第八场被命名为“日期”和有型“日期”

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

+0

@RazibAlMamun那是不可能的,因为$值仅设置在while循环 – Mart

+0

遗憾我错过了 –

+0

什么是你预期的结果? –

回答

1

Depening你的MySQL版本,有似乎对“DATE”列类型有些模棱两可(至少对我而言)。从你的结果看来,DATE是DATETIME的别名,但是MySQL对结果做了一些截断。

因此,一个解决方法..不要用户*,而是指定您的列名称,并在第8列,使用DATE函数只退出日期部分。

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

谢谢,愚蠢的我,但是,是从多个表中收集数据 – Mart