Объект класса DateTime не может быть преобразован в строку в моем запросе. Что я здесь не так делаю?

У меня есть следующий запрос в php / mysql:

$q2 = $conn3->prepare("SELECT (t.start_time + INTERVAL t.text_duration SECOND) as end_time FROM texts t WHERE t.start_time <= :starttime AND (t.start_time + INTERVAL t.text_duration SECOND) >= :starttime AND t.plot_id = :plot_id LIMIT 1");
$q2->bindValue(':starttime', $start_timestamp);
$q2->bindValue(':plot_id', $plot_id);
$q2->execute();
$check2 = $q2->fetch(PDO::FETCH_ASSOC);

$start_time это объект даты и времени, определенный следующим образом:

$date = new DateTime();
$start_timestamp = $date->add(DateInterval::createFromDateString('10 minutes'));

Когда я запускаю его, я получаю следующую ошибку:

Catchable fatal error:  Object of class DateTime could not be converted to string in ...

Как я могу это исправить?

-1

Решение

У вас есть только DateTime объект, когда вы позвонили DateTime::add(), Вы все еще должны преобразовать его в метку времени. использование DateTime::getTimestamp() сделать это. Вам все еще нужно преобразовать его в значение даты и времени. использование DateTime::format() сделать это.

$start_timestamp = $date->add(DateInterval::createFromDateString('10 minutes'))->format('Y-m-d H:i:s');
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]