2012-12-02 18 views
17

Non posso credere di non poterlo fare, ma voglio essere in grado di memorizzare la data e l'ora correnti da php in a una tabella mysql.Store php datetime nel database mysql

La colonna nella tabella è tipo datetime. Ho provato questo

$current_date = date("Y-m-d"); 
$my_date = strtotime($current_date); 
INSERT INTO my_table (date_time) VALUES ('$my_date') 

ma il mio timestamp viene in su come 0000-00-00 00:00:00

Questo deve essere così facile da fare, ma non riesco proprio a farlo funzionare! Voglio usare il timestamp da php piuttosto che usare la funzione mysql now()

+1

se il campo mysql è un 'DATETIME', rilascia la chiamata' strtime' –

risposta

15

Non salvarlo come Unix Timestamp (quali uscite strtotime()), ma come "2012-12-02 13:00" in la colonna DATETIME.

+3

Grazie ragazzi, mi sento così stupido! – Damian

31

Prova questo:

$my_date = date("Y-m-d H:i:s"); 
INSERT INTO my_table (date_time) VALUES ('$my_date'); 

Nel parametro della data formato della funzione data, l'uso:
'H' per il formato 24
'h' per il formato 12 ore

1

Crea tipo di colonna TIMESTAMP e impostarlo su NOT NULL. Quindi passare NULL durante INSERT e MySQL inserirà la data e l'ora correnti. Questo funziona per me.

1

impostare il 'tipo' di colonna denominata 'date_time' come 'DATETIME' ed eseguire la seguente query:

INSERT INTO my_table (`date_time`) VALUES (CURRENT_TIMESTAMP) 
0

Rimuovere lo strtotime()

$current_date = date("Y-m-d"); 
INSERT INTO my_table (date_time) VALUES ('$current_date') 

Se si desidera includere l'ora, i minuti ei secondi, $ CURRENT_DATE = date ("Y-m-d H: i: s");