Używam następującego skryptu do wyciągnięcia informacji kalendarza z bazy danych mysql i wyświetlenia go na stronie. Próbuję ponownie sformatować datę z standardowym formacie daty MySQL, ale podczas pobierania go z bazy danych otrzymuję następujący błąd:Ostrzeżenie: date_format() oczekuje, że parametr 1 będzie 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
bazy danych (jak widać daty są zapisane poprawnie):
skrypt:
<?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>';
?>
data ($ ślubna, "d-m-Y"); –
@Pramod Twoje parametry są niewłaściwe ... – Clive
Myślę, że ludzie wpadają w panikę, gdy widzą ostrzeżenie i nie czytają tego. Ostrzeżenie mówi, że funkcja oczekuje instancji 'DateTime', ale przekazałeś' string', więc twoja zmienna '$ weddingdate' zawiera ciąg daty, więc potrzebujesz tylko stworzyć obiekt' DateTime' (np. 'Date_format (new DateTime ($ weddingdate), $ desiredFormat) ') – Leri