我一直收到这个错误:
“可捕获的 fatal error :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[文本区域问题]
我做错了什么?
最佳答案
您需要将那些 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')
));
关于PHP - 将时间类型的变量插入到 MySQL 时间类型的列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868106/