2012-07-24 30 views
8

Trong cơ sở dữ liệu của tôi, tôi đã đặt hàng "gửi" như một dấu thời gian nhưng tôi nhận được thông báo này khi cố gắng chuyển đổi/định dạng nó:mysql chuyển đổi timestamp/định dạng Chú ý: Một giá trị số không cũng được hình thành gặp

Notice: A non well formed numeric value encountered 

mã:

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

tôi đang làm gì sai?

+0

gì 'var_dump ($ row [ 'gửi']); 'show? Có lẽ bạn cần gọi 'strtotime()' trên '$ row ['posted']' trước? – drew010

+0

Nó chỉ gọi dòng thời gian, đây là lần đầu tiên chơi với tùy chọn dấu thời gian thường tôi chỉ cần đặt nó vào varchar và cập nhật nó với ngày, tôi đoán tôi cần phải thêm nhiều hơn sau đó? –

+0

Tham số thứ hai để 'date()' cần phải là một dấu thời gian unix, vì vậy nếu dữ liệu trong cột 'posted' không phải là dấu thời gian, bạn phải chuyển đổi nó thành giá trị đầu tiên. Tôi đoán nó có định dạng 'yyyy-mm-dd hh: mm: ss' có nghĩa là bạn phải sử dụng' strtotime' trước. – drew010

Trả lời

15

Điều này có nghĩa là tham số thứ hai cho date() là số nguyên mong đợi, do đó, hãy chuyển đổi $row['posted'] thành dấu thời gian trước.

Hãy thử

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

Cảm ơn bạn, sẽ đánh dấu là câu trả lời khi tôi có thể (thời gian chờ 5 phút). –

Các vấn đề liên quan