PHP / PDO将当前日期加入MYSQL一个月

时间:2012-04-09 00:45:36

标签: php mysql date insert

我正在尝试添加当前日期(不是时间,如果我有选项)以及一个月后的日期进入我的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));

我不太清楚为什么这种语法不起作用。

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

1 个答案:

答案 0 :(得分:6)

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

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