2012-07-24 13 views
8

nel mio database ho impostato riga "postato" come un timestamp ma ottengo questo avviso quando si cerca di convertire/formattarla:mysql conversione timestamp/Avviso formattazione: Un valore numerico non ben formato incontrato

Notice: A non well formed numeric value encountered 

codice:

$posted = date('d/m/Y H:i:s', $row['posted']); 
    echo $posted; 

cosa sto facendo di sbagliato?

+0

Cosa significa 'var_dump ($ row [ 'postato']);' show? Forse hai bisogno di chiamare 'strtotime()' su '$ row ['posted']' prima? – drew010

+0

Si chiama solo la riga timestamp, questa è la prima volta che si gioca con l'opzione timestamp di solito l'ho appena impostata su varchar e l'aggiornamento con la data, suppongo di dover aggiungere altro allora? –

+0

Il secondo parametro di 'date()' deve essere un timestamp unix, quindi se i dati nella colonna 'posted' non sono un timestamp, devi prima convertirlo in uno. Sto indovinando che è in 'yyyy-mm-gg hh: mm: ss' formato che significa che devi prima usare' strtotime'. – drew010

risposta

15

Ciò significa che il secondo parametro per date() è in attesa di numero intero, quindi convertire $row['posted'] in data e ora per prima.

Prova

$posted = date('d/m/Y H:i:s', strtotime($row['posted'])); 
+0

Grazie, segnerà come risposta quando posso (5 minuti di timeout). –

Problemi correlati