Я считаю, что пункт SQL, вызывающий вашу проблему, заключается в следующем. (Если это не так, пожалуйста, отредактируйте свой вопрос, чтобы уточнить его.)
WHERE ...
starttime =
(SELECT starttime
FROM Bookings
WHERE starttime LIKE '2012-09-14%'),
Это странная операция. Похоже, вам нужны все значения starttime
на определенную дату. Так почему бы просто не сказать это в своем запросе? Вам нужно что-то вроде этого.
WHERE ...
starttime >= '2012-09-14 00:00:00'
AND starttime < '2012-09-14 00:00:00' + INTERVAL 1 DAY
Я полагаю, что вы получаете ошибку "Команды не синхронизированы", потому что ваш запрос говорит
SELECT WHERE .... value = (whole mess of values)
и ваш сервер MySQLпреследовал свой хвост, пытаясь понять вас, и в конечном итоге сдался, вместо того чтобы сразу отвергнуть его как синтаксическую ошибку.