我需要使用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')";
我已尝试使用上述各种技术进行转换但不起作用。关于如何插入的任何想法
答案 0 :(得分: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));
这样您就可以在查询字符串中引用这两个变量。
答案 1 :(得分: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')";