0

我正在尝试将当前日期(如果我有选项,则不是时间)以及一个月后的日期添加到我的 MYSQL 数据库中,并且我不断出现以下错误:

Parse error: syntax error, unexpected T_LNUMBER in *myfile* on line 45

我插入数据的功能如下:

function add_zipcode($zip, $adminID, $email)
{
    global $db;
    $query = '

        INSERT INTO zip_owners (zip, email, adminID, started, transferred, expires)
        VALUES (:zip, :email, :adminID, :started, :transferred, :expires)';
    try{
        $statement = $db->prepare($query);
        $statement->bindValue(':zip', $zip);
        $statement->bindValue(':email', $email);
        $statement->bindValue(':adminID', $adminID);
        $statement->bindValue(':started', now());

        $statement->bindValue(':transferred', now());
        $statement->bindValue(':expires', DATE_ADD(now(), INTERVAL 1 MONTH));
        $statement->execute();
        $statement->closeCursor();
    }
    catch (PDOexception $e) 
    {
        $error_message = $e->getMessage();
        echo "<p>Database Error: $error_message </p>";
        exit();
    }
}   

问题线是这一行:

$statement->bindValue(':expires', DATE_ADD(now(), INTERVAL 1 MONTH));

我不太确定为什么该语法不起作用。

我的目标是能够在选择行时比较日期,以返回在当前日期一周内提交的过期行。

4

1 回答 1

7

引用您的 MySQL 语句,它们是 PHP 中的字符串:

$statement->bindValue(':expires', 'DATE_ADD(now(), INTERVAL 1 MONTH)');
于 2012-04-09T00:47:36.763 回答