0

PHP を使用して HTML フォームから入力された日時値を MySQL データベースに挿入する必要があります。ただし、以下のコードを実行しようとするたびに、不正な日時値エラーが表示されます。

$rosterstartdate=$_GET['rosterstartdate'];
$rosterenddate=$_GET['rosterenddate'];

//$date = date_create_from_format('d/M/Y:H:i:s', $rosterstartdate);
//$date->getTimestamp();
//echo $date;

$date = strtotime($rosterstartdate);
echo date('d/M/Y H:i:s', $date);

    // echo DATE_FORMAT($rosterstartdate,"%Y%m%d %H%i%s");

    $con=mysql_connect("localhost","root","");  
    if($con==true){
        mysql_select_db("attendance_db",$con);
        $query="insert into tblroster values(LAST_INSERT_ID(),'$rosterteam','$rostershifts','$date','$rosterenddate')";

上記のさまざまな手法を使用して変換を試みましたが、うまくいきません。これをどのように挿入できるかについてのアイデア

4

2 に答える 2

2

これを試して:

$date = date('Y-m-d H:i:s', $date);

エコーアウトする代わりに、そのコードを使用して日付をフォーマットします。

しかし、あなたが本当に欲しいのはこれのようです:

$rosterstartdate = date('Y-m-d H:i:s', strtotime($rosterstartdate));
$rosterenddate = date('Y-m-d H:i:s', strtotime($rosterenddate));

このようにして、クエリ文字列でこれら 2 つの変数を参照するだけです。

于 2012-07-22T09:03:41.327 に答える
0

UNIXタイムでFROM_UNIXTIMEを使用している場合は、フォーマットする必要はありません
。クエリを次のように変更してください。

    $rosterstartdate=$_GET['rosterstartdate'];
$rosterenddate=$_GET['rosterenddate'];

//$date = date_create_from_format('d/M/Y:H:i:s', $rosterstartdate);
//$date->getTimestamp();
//echo $date;

$date = strtotime($rosterstartdate);

    $con=mysql_connect("localhost","root","");  
    if($con==true){
        mysql_select_db("attendance_db",$con);
        $query="insert into tblroster values(LAST_INSERT_ID(),'$rosterteam','$rostershifts',FROM_UNIXTIME($date),'$rosterenddate')";
于 2012-07-22T09:22:04.400 に答える