Я пытаюсь добавить текущую дату (не время, если у меня есть опция), а также дату одного месяца позже в мою базу данных 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));
Я не совсем уверен, почему этот синтаксис не работает.
Моя цель – иметь возможность сравнивать даты при выборе строк для возврата строк, срок действия которых истекает в течение недели текущей даты.
Процитируйте свои операторы MySQL, они являются строками в PHP:
$statement->bindValue(':expires', 'DATE_ADD(now(), INTERVAL 1 MONTH)');