Frage

Ich versuche, Datum und Uhrzeit in MySQL Datetime-Feld einzufügen. Wenn ein Benutzer ein Datum und eine Uhrzeit auswählen, wird es zwei POST-Variablen erzeugen. Ich habe Internet gesucht, aber immer noch nicht sicher, wie es zu tun.

Mein Code.

//date value is 05/25/2010
//time value is 10:00

$date=$_POST['date'];
$time=$_POST['time'];

$datetime=$date.$time

Wenn ich $ Datetime in mysql einfügen, wird das Datum 0000-00-00 sein: 00: 00: 00

Ich schätze es, wenn jemand mir darüber helfen könnte. Danke.

War es hilfreich?

Lösung

$datetime = $_POST['date'] . ' ' . $_POST['time'] . ':00';
$datetime = mysql_real_escape_string($datetime);
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')";

alternative Lösung, die mehr Formate verarbeiten kann:

$datetime = $_POST['date'] . ' ' . $_POST['time'];
$datetime = mysql_real_escape_string($datetime);
$datetime = strtotime($datetime);
$datetime = date('Y-m-d H:i:s',$datetime);
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')";

Andere Tipps

Das Datum muss Format Ihnen gezeigt hat: 0000-00-00 00:00:00

So, müssen Sie es konvertieren. Es gibt tausend Fragen zu dieser Umstellung hier auf SO.
Der kürzeste Weg ist wie

list($m,$d,$y) = explode("/",$_POST['date']);
$date = mysql_real_escape_string("$y-$m-$d ".$_POST['time']);

Ich denke, die Datetime-Format sieht wie folgt aus:

YYYY-MM-DD HH:MM:SS

, so dass Sie haben Ihre $ Datetime zu sehen, so zu formatieren. Und in Ihrer Anfrage, dass der Bedarf in quoation Markierungen verkapselt wird.

  • Entweder Sie verwandeln die Zeichenfolge im YYYY-MM-DD HH:MM:SS Format selbst zu sein,
  • oder verwenden Sie die str_to_date() Funktion von MySQL.

    INSERT INTO Tabelle DATETIME- Werte (str_to_date ($ date "% m /% d /% Y% h:% i"))

Soweit ich mich erinnere, sollte standardmäßig Mysql Datetime in seine "yyyy-mm-dd hh: mm: ss" Format.

Ich habe hinzugefügt, Datum und Uhrzeit in MySQL-Datenbank über API wie folgt aus:


Anruf API

http://localhost/SendOrder.php?odate=20120323&otime=164545

  1. odate Typ DATE
  2. otime Typ ist TIME in DB.

Es speichert odate wie 2012-03-23 ??und O ZEIT als 16.45.45.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top