2012-04-09 17 views
0

Ich versuche, das aktuelle Datum (nicht Zeit, wenn ich die Option habe) und auch das Datum von einem Monat später in meine MySQL-Datenbank hinzufügen und ich bekomme den folgenden Fehler :PHP/PDO aktuelles Datum plus einen Monat in MYSQL einfügen

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

My-Funktion zum einfügen der Daten ist wie folgt:

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

Das Problem Linie ist diese:

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

Ich bin nicht ganz sicher, warum diese Syntax nicht funktioniert.

Mein Ziel ist es, in der Lage zu sein, die Daten bei der Auswahl von Zeilen zu vergleichen, um die Zeilen zurückzugeben, die innerhalb einer Woche nach dem aktuellen Datum ablaufen.

+0

Ich frage mich wirklich, warum Leute wie diese Abstimmung Fragen tun nach unten. Und sie geben manchmal Gründe für Down-Voting nicht und sie antworten auch nicht. Die Down-Wähler sagen uns, was ist mit dieser Frage falsch? – Musa

Antwort

6

Quote Ihre MySQL-Anweisungen, sind sie Strings in PHP:

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