Здравствуйте. Я так понимаю, дело в каких-то кавычках, но как эту проблему исправить - я не знаю.
Вот такой у меня php код:
$link = db_connect();
$query = "set @today:=date('2016-12-11');
update main M
join (
select cid, nomer
from (
select A.nomer,
@cstart:=if(@cnum=A.nomer,@cstart,A.start),
@cnum:=A.nomer,
@cid:=(select M.id
from main M,allnomer MT
where MT.nomer=M.numbernomer and MT.type='lux'
and M.datestart>@cstart
and find_in_set(M.id,@used)=0
order by datestart
limit 1
) cid,
@cstart:=(select dateend from main where id=@cid) dend,
@used:=coalesce(concat(@used,',',@cid),@used)
from (
select A.nomer, A.start
from (
select A.nomer,
(select coalesce(min(dateend),@today-interval 1 day)
from main M
where datestart<=@today and M.numbernomer=A.nomer) start
from allnomer A where type='lux'
) A,
main M, allnomer MT
where MT.nomer=M.numbernomer and MT.type='lux' and M.datestart>A.start
order by A.start desc, A.nomer
) A,
(select @cid:=0,@cnum:=0,@cstart:=NULL,@used:='') Y
) X where cid is not null
) U
on M.id=U.cid
set M.numbernomer=U.nomer";
$result = mysqli_query($link, $query);
var_dump($result);
Мне возвращается bool(false) и в бд никаких изменений не происходит. Если я запущу этот же запрос через phpmyadmin, то всё сработает и запрос выполнится. Здесь явно дело в кавычках, ибо обычный SELECT без проблем работает. Подскажите, как выполнить такой большой sql запрос из php?