11

日付と時刻をmysqlの日時フィールドに挿入しようとしています。ユーザーが日付と時刻を選択すると、2 つの POST 変数が生成されます。私はインターネットを検索しましたが、まだそれを行う方法がわかりません。

私のコード。

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

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

$datetime=$date.$time

$datetime を mysql に挿入すると、日付は 0000-00-00:00:00:00 のように見えます

誰かがこれについて私を助けてくれれば幸いです。ありがとう。

4

6 に答える 6

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

より多くのフォーマットを処理できる代​​替ソリューション:

$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')";
于 2010-05-28T15:02:20.780 に答える
4

日付は次の形式で表示されている必要があります:0000-00-00 00:00:00

したがって、変換する必要があります。SO では、この変換について何千もの質問があります。
最短の方法は次のようになります

list($m,$d,$y) = explode("/",$_POST['date']);
$date = mysql_real_escape_string("$y-$m-$d ".$_POST['time']);
于 2010-05-28T15:02:51.900 に答える
3

日時形式は次のようになります。

YYYY-MM-DD HH:MM:SS

そのため、 $datetime をそのようにフォーマットする必要があります。そして、引用符でカプセル化する必要があるクエリで。

于 2010-05-28T14:59:41.547 に答える
2
  • YYYY-MM-DD HH:MM:SS文字列を自分の形式に変換するか、
  • またはstr_to_date()、MySQL の関数を使用します。

    INSERT INTO テーブルの DATETIME 値 (str_to_date($date,"%m/%d/%Y %h:%i"))

于 2010-05-28T15:00:41.483 に答える
1

私が覚えている限り、デフォルトでは、Mysql の日時は「yyyy-mm-dd hh:mm:ss」形式になっているはずです。

于 2010-05-28T15:00:41.953 に答える