PHP - ВСТАВИТЬ переменную типа Time в столбец в MySQL типа Time - PullRequest
1 голос
/ 29 июля 2011

Я получаю эту ошибку:

"Исправляемая фатальная ошибка: объект класса 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]

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 29 июля 2011

Вам необходимо преобразовать эти 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')
));
0 голосов
/ 29 июля 2011

$ value_startTime и $ value_endTime являются объектами. Попробуйте это с $ value_startTime-> getTimestamp ().

$query_InsertJob="INSERT INTO job (jobDesc,timeStart,timeEnd) VALUE ('$_POST[TextAreaProblem]','".$value_startTime->getTimestamp()."','"$value_endTime->getTimestamp()."')";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...