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

时间:2013-12-18 13:35:24

标签: php mysql

这是关于房间预订网站。我需要将预订日期保存在几行中,增加一天直到我要保留的日期。我是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);
    }
}

3 个答案:

答案 0 :(得分:8)

您不需要new关键字。 createFromFormat()类中的DateTimestatic method。它应该如下调用:

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

答案 1 :(得分:1)

如果您使用的是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

答案 2 :(得分:-1)

您可以使用此

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