【发布时间】:2012-01-05 20:56:43
【问题描述】:
你如何解决以下错误:
Fatal error: Call to undefined method DateTime::createfromformat()
错误发生在第 35 行。这是我的代码从第 31 行到第 45 行读取的内容
// check database for necessary updates
$update = mysql_query("SELECT * FROM rent WHERE colour='#3C0'");
while($row_update = mysql_fetch_array( $update )) {
$datetime_lower = DateTime::createFromFormat('d/m/Y', $min);
$datetime_upper = DateTime::createFromFormat('d/m/Y', $max);
$datetime_compare = DateTime::createFromFormat('d/m/Y g:i a', $row_update['pDate']);
if ($datetime_lower < $datetime_compare && $datetime_upper > $datetime_compare) {
// date is between do nothing
} else {
// date is not between so update
$update_result = mysql_query("UPDATE rent SET colour='#F0F0F0' WHERE id=" . $row_update['id'] . " && colour='#3C0'");
mysql_close($update_result);
}
}
我该如何解决这个问题?
【问题讨论】:
-
通过删除该行。错误将消失。通常最好不要调用未定义的函数,否则总是会导致致命错误。也许您可以从您想要调用的 PHP 手册中链接该函数,以便清楚您尝试做什么?
-
要么你在复制错误消息时出错,要么不是文件:
createfromformat != createFromFormat -
代码似乎在我的本地服务器上运行良好
-
您使用的是什么 PHP 版本?
DateTime在 5.3 及更高版本中可用。 -
发现这个:date("j M Y", strtotime($myDate)) 在我无法手动升级我的版本并且等不及这些家伙的旧服务器上为我解决了这个问题这样做。