2012-07-24 5 views
8

In meiner Datenbank habe ich gesetzt Zeile „geschrieben“ als Zeitpunkt, aber ich erhalte diese Mitteilung, wenn sie versuchen, es zu konvertieren/Format:mysql Zeitstempel Konvertierung/Formatierung Hinweis: Ein nicht gut gebildet numerischen Wert angetroffen

Notice: A non well formed numeric value encountered 

code:

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

was mache ich falsch?

+0

Was bedeutet 'var_dump ($ row [ 'geschrieben']);' show? Vielleicht müssen Sie 'strtotime()' in '$ row ['posted']' first aufrufen? – drew010

+0

Es ruft nur die Timestamp-Zeile, das ist das erste Mal mit Timestamp Option in der Regel nur ich es auf Varchar setzen und aktualisieren Sie es mit dem Datum, ich denke, ich muss mehr als dann hinzufügen? –

+0

Der zweite Parameter für 'date()' muss ein Unix-Timestamp sein. Wenn also die Daten in der 'posted'-Spalte kein Zeitstempel sind, müssen Sie ihn zuerst in einen konvertieren. Ich nehme an, es ist im Format "JJJJ-MM-TT HH: MM: SS", was bedeutet, dass Sie zuerst "STRTOTIME" verwenden müssen. – drew010

Antwort

15

Dies bedeutet, dass der zweite Parameter für date() eine Ganzzahl erwartet, also wandeln Sie $row['posted'] in den Zeitstempel um.

Versuchen

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

Vielen Dank, wird als Antwort markieren, wenn ich kann (5 Minuten Timeout). –

Verwandte Themen