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));

这样您就可以在查询字符串中引用这两个变量。

于 2012-07-22T09:03:41.327 回答
0

如果您有 unixtime 使用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 回答