2016-07-28 10 views
-1

Ich habe viele der Postings bezüglich des aktuellen Zeitstempels gelesen und viele der angebotenen Lösungen ausprobiert, aber keines von ihnen hat mein Problem behoben. Ich brauche einen aktuellen Zeitstempel, der zur Datenbank hinzugefügt werden muss. Ich denke, dass mein Code der Grund sein könnte, warum die anderen Lösungen nicht funktionieren. Alles andere post perfekt. Der Zeitstempel gibt mir nur alle "0", die anderen Lösungen, die ich versuchte, gaben mir einen "Fehler der Zeile 6".Aktueller Zeitstempel

Hier ist mein aktueller Code

<?php 

$con = mysql_connect("mysql","username","password"); 

if (!$con) 

    { 

    die('Could not connect: ' . mysql_error()); 

    } 

    /* Prevent duplicate submissions */ 
if (isset($_COOKIE['FormSubmitted'])) 
{ 
show_error('You may only submit this form once per session!'); 
} 

mysql_select_db("seller", $con); 

$sql="INSERT INTO listing (name, email, website, url, dropdown, price, date, visitors, income, host, description) 

VALUES 

('$_POST[name]', '$_POST[email]', '$_POST[website]', '$_POST[url]', '$_POST [dropdown]', '$_POST[price]', '$_POST[date]','$_POST[visitors]', '$_POST[income]', '$_POST[host]', '$_POST[description]', 'CURRENT_TIMESTAMP[subdate]')"; 

if (!mysql_query($sql,$con)) 

    { 

    die('Error: ' . mysql_error()); 

    } 

echo "Thank you for listing with us. <a href="#">Explore Now</a>"; 


mysql_close($con) 

?> 
+3

Für die Liebe '$ DEITY', das ist 2016. ** STOP, um die' mysql_' APIS weiter verwenden, und START VERWENDEN PARAMETERIERTER ABFRAGEN **. –

+0

Lesen Sie auf CURRENT_TIMESTAMP https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_current-timestamp - Plus, Sie versuchen auch, es als Zeichenfolge einzugeben . –

+1

mögliches Duplikat von [MySQL - aktuelles Datum/Uhrzeit einfügen?] (Http://stackoverflow.com/questions/19246309/mysql-insert-current-date-time) –

Antwort

0

Mit CURRENT_TIMESTAMP im PHP-Kontext keinen Sinn hat!

Sie müssen den erforderlichen Standardwert in Ihre Tabellendefinition aufnehmen.
Etwas wie folgt aus:

CREATE TABLE listing 
... 
description VARCHAR(...) 
creation_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP 
... 

dann in PHP sollten Sie nur schreiben:

$sql=" 
    INSERT INTO listing (name, ..., description) 
    VALUES ('$_POST[name]', ..., '$_POST[description]') 
"; 
+0

* "Die Verwendung von CURRENT_TIMESTAMP im PHP-Kontext hat keinen Sinn! "* - Sie meinen eher: *" Die Verwendung von '' CURRENT_TIMESTAMP [subdate] '' im PHP-Kontext hat keinen Sinn! "* -' CURRENT_TIMESTAMP() 'oder' NOW() 'funktionieren auch beide, wenn sie als Core-MySQL verwendet werden Funktionen und dass der Typ der Spalte korrekt ist. –

+0

@ Fred-ii- Nicht sicher zu verstehen, was du meinst. In der Tat, was keinen Sinn hat ist die vollständige Zeichenfolge im OP verwendet, aber ich habe nicht die Mühe gemacht, es genau zu melden, da: 1) _also_ die einfache 'CURRENT_TIMESTAMP' hat keinen Sinn in PHP; 2) es hat Sinn in SQL, wie es ist. Was verwirrt mich, dass Sie scheinen 1) oben als falsch zu betrachten? – cFreed

+0

Nein, ich habe nie gesagt, dass deine Antwort falsch ist ;-) Ich bin nur etwas genauer. –