解析错误:语法错误,意外的“createFromFormat”(T_STRING),期望变量(T_VARIABLE)或“


Parse error: syntax error, unexpected 'createFromFormat' (T_STRING), expecting variable (T_VARIABLE) or '$' in

这是关于房间预订的网站。我需要将预订日期分成几行,增加一天,直到我想预订的天数。我是 php 的新手,所以我非常感谢任何可以简单地向我解释问题的人。这是代码。

$today=date("Y/m/d");
$date = new DateTime::createFromFormat("l dS F Y", $in);
$con = mysql_connect("localhost","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("royal", $con);
{echo $i."<br>";
for ($y=1; $norooms>=$y; $y++)
    {
    echo "Day difference=".$len." No of rooms=".$norooms."<br>";
    $date = $date->format('d/m/Y');
    $sql="INSERT INTO singlerooms (Date,Ref_Date)VALUES ($date,$today)";
    mysql_query($sql,$con);
    }
}
你不需要

new 关键字。 createFromFormat()DateTime类中的静态方法。 它应该按如下方式调用:

$date = DateTime::createFromFormat("l dS F Y", $in);

如果您使用的是php5.3那么您应该可以使用此功能。

代码片段。删除new关键字。

<?php
$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
?>

您的代码:$date = DateTime::createFromFormat("l dS F Y", $in);

文档链接: http://php.net/datetime.createfromformat

你可以使用这个

$date = new DateTime;
$date1 = $date->createFromFormat("l dS F Y", $in);