Daugiau
PHP data() formatas, kai įterpiama į "MySQL" datą ir laiką
Kokį formatą reikia perduoti PHP funkcijai date()
, jei rezultatą noriu įterpti į MySQL datetime
tipo stulpelį?
Bandžiau date("Y-M-D G:i:s")
, bet tai visada įterpia tik "0000-00-00 00:00:00:00".
297
3
Problema ta, kad naudojate
'M'
ir'D'
, kurie yra tekstiniai atvaizdai, o "MySQL" tikisi skaitmeninio atvaizdo formatu2010-02-06 19:30:13
.Pabandykite:
date("Y-m-d H:i:s")
, kuriame naudojami skaitiniai atitikmenys.redaguoti:
G
pakeista įH
, nors tai gali neturėti įtakos, tikriausiai norite naudoti 24 valandų formatą su pradiniais 0.Iš php komentarų
date()
žinyno puslapio:Jūs teisingai nurodėte 'Y' - tai yra visi metai, tačiau 'M' yra trijų ženklų mėnuo, o 'm' yra dviejų skaitmenų mėnuo. Ta pati problema su 'D' vietoj 'd'. 'G' yra 1 arba 2 skaitmenų valanda, o 'H' visada turi pradinį 0, kai reikia.
Čia pateikiamas alternatyvus sprendimas: jei PHP programoje data pateikiama kaip laiko žyma, apeikite jos tvarkymą per PHP ir leiskite DB pasirūpinti jos transformavimu naudojant funkciją
FROM_UNIXTIME
.