我从提交的表单中获取日期和时间作为单独的实体。我正在组合它们,然后在 MySQL datetime
类型列中插入,但我总是得到 0000-00-00 00:00:00。
这是我在试验时的代码快照:
$time=$_POST['date'].' '.$_POST['time'];
$datetime = DateTime::createFromFormat('d-m-Y h:i A', $time);
$mysqltime = $datetime->format("Y-m-d H:i:s");
var_dump($description);
var_dump($datetime);
$sql = "update vstatus set description=:description, status=2, time=:time where id=:id";
$query = $conn->prepare($sql);
$query->bindParam(':description',$description,PDO::PARAM_STR);
$query->bindParam(':time',strtotime($datetime),PDO::PARAM_STR);
$query->bindParam(':id',$id,PDO::PARAM_INT);
这是var_dump
结果:
string(31) "Moving from Noida to Aurangabad" object(DateTime)#2 (3) {
["date"]=> string(19) "2016-02-18 16:00:00"
["timezone_type"]=> int(3)
["timezone"]=> string(13) "Europe/Berlin"
}
可能我能够使datetime
对象正确,如var_dump
所示,但错过了最后一步。请帮忙。
正如评论中已经解释的那样。用
$query->bindParam(':time',$mysqltime,PDO::PARAM_STR);
而不是
$query->bindParam(':time',strtotime($datetime),PDO::PARAM_STR);