Вы не можете выполнить несколько запросов за один вызов.
Вы можете инициализировать переменную в подзапросе.
Кроме того, переменные не заменяются внутри строк, вам необходимо использоватьCONCAT()
.
$query = "SELECT from, till
FROM termin
CROSS JOIN (SELECT @v1 := :date) AS x
WHERE from >= CONVERT(CONCAT(@v1, ' 08:00:00'), DATETIME)
AND till <= CONVERT(CONCAT(@v1, ' 20:00:00'), DATETIME)
AND comp_id=:comp";
Но на самом деле переменная не нужна, вы можете использовать заполнитель :date
дважды.
$query = "SELECT from, till
FROM termin
WHERE from >= CONVERT(CONCAT(:date, ' 08:00:00'), DATETIME)
AND till <= CONVERT(CONCAT(:date, ' 20:00:00'), DATETIME)
AND comp_id=:comp";