2016-11-18 36 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