我一直收到这个错误:
“可捕获的致命错误:类DateTime的对象无法转换为字符串”
从这段代码:
<?php
$value_startTime = new DateTime();
$value_startTime->setTime($value_HourStart,$_POST['TextBoxStartMin'],0);
$value_endTime = new DateTime();
$value_endTime->setTime($value_HourEnd,$_POST['TextBoxEndMin'],0);
$query_InsertJob="INSERT INTO job (jobDesc,timeStart,timeEnd)
VALUE ('$_POST[TextAreaProblem]','$value_startTime','$value_endTime')";
?>
这些变量的值可以是00到23: $ value_HourStart $ value_HourEnd
这些变量的值可以是00到59: $ _ POST [ 'TextBoxStartMin'] $ _POST [ 'TextBoxEndMin']
我没遇到任何问题: $ _POST [TextAreaProblem]
我做错了什么?
答案 0 :(得分:1)
您需要将这些DateTime
对象转换为字符串,以便在查询中使用。
尝试类似这样的事情(PDO示例,因为我不能鼓励人们使用mysql_*
函数)
$stmt = $db->prepare('INSERT INTO job (jobDesc, timeState, timeEnd) VALUES (?, ?, ?)');
$stmt->execute(array(
$_POST['TextAreaProblem'],
$value_startTime->format('H:i:s'),
$value_endTime->format('H:i:s')
));
答案 1 :(得分:0)
$ value_startTime和$ value_endTime是对象。尝试使用$ value_startTime-&gt; getTimestamp()。
$query_InsertJob="INSERT INTO job (jobDesc,timeStart,timeEnd) VALUE ('$_POST[TextAreaProblem]','".$value_startTime->getTimestamp()."','"$value_endTime->getTimestamp()."')";