Tôi đang sử dụng tập lệnh sau để kéo thông tin lịch ra khỏi cơ sở dữ liệu mysql và hiển thị nó trên trang. Tôi cố gắng để tái định dạng ngày từ định dạng ngày chuẩn Mysql, nhưng khi lấy nó ra khỏi cơ sở dữ liệu là nhận được lỗi sau:Cảnh báo: date_format() hy vọng tham số 1 là DateTime
Warning: date_format() expects parameter 1 to be DateTime, string given in C:\easyphp\www\twinfocus\managecalendar.php on line 24
Warning: date_format() expects parameter 1 to be DateTime, string given in C:\easyphp\www\twinfocus\managecalendar.php on line 24
Warning: date_format() expects parameter 1 to be DateTime, string given in C:\easyphp\www\twinfocus\managecalendar.php on line 24
Warning: date_format() expects parameter 1 to be DateTime, string given in C:\easyphp\www\twinfocus\managecalendar.php on line 24
Cơ sở dữ liệu (như bạn sẽ nhìn thấy số ngày được lưu trữ một cách chính xác):
kịch bản:
<?php
$sql2 = <<<SQL
SELECT *
FROM `calendar`
SQL;
if(!$result2 = $db->query($sql2)){ die('There was an error running the query [' . $db->error . ']');}
echo '<table class="admintable"> <thead>';
echo '<tr><th>Client Names</th><th>Email</th><th>Tel</th><th>Wedding Date</th><th>Date Created</th><th>Start Time</th><th>End Time</th><th>Price</th><th>Location</th><th>Other Info</th><th>Edit</th><th>Delete</th></tr></thead>';
while($row2 = $result2->fetch_assoc()){
$weddingdate = $row2['weddingdate'];
$formattedweddingdate = date_format($weddingdate, 'd-m-Y');
echo '<tr><td>'.$row2['name'].'</td><td>'.$row2['email'].'</td><td>'.$row2['tel'].'</td><td style="min-width:70px;">'.$formattedweddingdate.'</td><td style="min-width:70px;">'.$row2['datecreated'].'</td><td>'.$row2['starttime'].'</td><td>'.$row2['endtime'].'</td><td>£'.$row2['price'].'</td><td>'.$row2['location'].'</td><td style="min-width:400px;">'.$row2['otherinfo'].'</td><td><a href="managecalendar.php?&key='.$key.'&editwedding='.$row2['id'].'">Edit</a></td><td><a href="calenderdelete.php?&key='.$key.'&delwedding='.$row2['id'].'">Delete</a></td></tr>';}
echo '</table>';
?>
ngày ($ weddingdate, 'd-m-Y'); –
@Pramod Các thông số của bạn là vòng sai ... – Clive
Tôi nghĩ mọi người hoảng sợ khi họ thấy cảnh báo và không đọc nó. Cảnh báo nói rằng hàm này trông đợi instance 'DateTime' nhưng bạn đã truyền' string' để biến '$ weddingdate' của bạn chứa chuỗi ngày tháng, vì vậy tất cả những gì bạn cần là tạo đối tượng' DateTime' (ví dụ 'date_format (new DateTime ($ weddingdate), $ mong muốnFormat) ') – Leri