PHP - 将时间类型的变量插入到 MySQL 时间类型的列中

标签 php mysql time insert

我一直收到这个错误:

“可捕获的 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/

相关文章:

javascript - 谷歌浏览器不在 iframe 中显示 PDF 文件

php - 将连字符周围的空格替换为 nbsp

php/Wordpress/Ajax 按钮调用 php 脚本

php - SQL在一行中查询一个值并在另一行中更改它的值

php - mysqli_stmt::execute() 返回 false 并且语句未执行

MySQL 2 列不工作的百分比=NULL

mysql - 将 UTC 时间字符串转换为 Unix 时间

java - 如何检查查询最终传递的参数是什么?

c - rand() 播种与 time() 问题

java.sql.Time getTime 没有返回好的值