2012-07-24 7 views
8

karşılaştı ama/formatını dönüştürmek çalışırken bu uyarıyı alıyorum:MySQL zaman damgası dönüşüm/biçimlendirme Uyarı: olmayan bir kuyu oluşmuş bir sayısal değer veritabanıma ben satır set bir zaman damgası olarak "yayınlanmıştır" var ise

Notice: A non well formed numeric value encountered 

kodu:

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

Neyi yanlış yapıyorum?

+0

($ row [ 'yayınlanmıştır']) Deneyin? Belki önce "sıra" ("posted") 'de strtotime()' ı çağırmanız gerekir. – drew010

+0

Sadece zaman damgası satırını çağırır, bu ilk defa zaman damgası seçeneği ile oynar, ben sadece varchar'a ayarladım ve tarihle güncelledim, sanırım daha fazla eklemem gerekecek mi? –

+0

'date()' işlevinin ikinci parametresinin unix zaman damgası olması gerekir; bu nedenle, 'posted' sütunundaki veriler bir zaman damgası değilse, bunu bir ilk haline dönüştürmeniz gerekir. Sanırım yyyy-dd-dd ss: dd: ss biçimidir, yani strtotime'ı ilk kullanmanız gerektiği anlamına gelir. – drew010

cevap

15

Bu, date() için ikinci parametrenin tamsayıyı beklediği anlamına gelir, bu nedenle $row['posted'] değerini ilk kez zaman damgasını dönüştürün. `Gösterisi;

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

Teşekkür ederim, elimden geldiğimde cevap olarak işaretleyiniz (5 dk zaman aşımı). –

İlgili konular