Legen Sie Datum und Uhrzeit in Mysql
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.
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
-
odate
Typ DATE -
otime
Typ ist TIME in DB.
Es speichert odate wie 2012-03-23 ??und O ZEIT als 16.45.45.