Mysql içine tarih ve saati ekleme

5 Cevap php

guys I am trying to insert date and time into mysql datetime field. When a user select a date and time, it will generate two POST variables. I have searched internet but still not sure how to do it.

Benim kod.

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

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

$datetime=$date.$time

Mysql içine $ datetime eklerseniz, tarih 0000-00-00:00:00:00 gibi görünüyor

Herkes bu konuda bana yardımcı olabilir, bunu takdir ediyorum. Teşekkürler.

5 Cevap

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

Daha formatlarını işleyebilir alternatif çözüm:

$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')";

Tarih biçimi size gösterilen olmalı: 0000-00-00 00:00:00

So, you have to convert it. There are thousand questions about this conversion here on SO.
The shortest way is like

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

Ben datetime biçimi şöyle düşünüyorum:

YYYY-MM-DD HH:MM:SS

yani böyle bakmak için $ datetime biçimlendirmek zorundasın. Ve sorguda o quoation işaretleri kapsüllü gerekmektedir.

Biçimi olarak Hatırladığım kadarıyla, varsayılan olarak, Mysql datetime ": mm ss yyyy-aa-gg hh" olmalıdır.

  • Ya, dize YYYY-MM-DD HH:MM:SS kendin biçimlendirmek olmak dönüşümü
  • veya MySQL str_to_date() işlevini kullanın.

    Masa DateTimedeğerler INSERT INTO (str_to_date ($ tarih, "% m /% d /% Y% H:% i"))