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

2022-01-09 00:00:00 date insert php mysql

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

I am trying to add the current date (not time if i have the option) and also the date of one month later into my MYSQL database and I keep gettin the following error:

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

我插入数据的函数如下:

My function to insert the data is as follows:

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));

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

I'm not quite sure why that syntax doesn't work.

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

My goal is to be able to compare the dates when selecting rows to return the rows that have the expires filed within a week of the current date.

推荐答案

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

Quote your MySQL statements, they're strings in PHP:

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

相关文章