Grive
Новичок
MYSQL Иногда пропадают значения переменных установленных в запросе методом @var:=
Ничего не могу понять может кто сталкивался.
Есть запрос:
Обратить внимание нужно только на ту часть что работает с датами.
Иногда значения перменных @nm, @dif_days,@cm кудато пропадают приблизительно каждая десятая интерация, иногда по несколько раз в подряд!
т.е. не работает та часть запроса, которая выводит разницу в неделях между двумя датами.
запрос выполняется посредством языка PHP а если точнее то PEAR
Ничего не могу понять может кто сталкивался.
Есть запрос:
PHP:
SELECT cp.*, sm.sm_name 'melody_name' , sn.singer_name 'singer_name', ls.id 'local_singer_id',
@cm:=DATE_SUB(FROM_UNIXTIME(cp.date), INTERVAL (WEEKDAY(FROM_UNIXTIME(cp.date))) DAY) 'monday_ch',
@nm:=(DATE_SUB(NOW(), INTERVAL (WEEKDAY(NOW())) DAY)) 'monday_cur',
@dif_days:=(TO_DAYS(@nm)-TO_DAYS(@cm)) 'dif_days',
FLOOR(@dif_days / 7) 'weeks',
MOD(@dif_days,7) 'error'
FROM charts_playlists cp, charts_singer_melody sm, charts_net_singers sn, charts_local_singers ls
WHERE cp.id_ch_names='{$id_chart}'
AND ((cp.id_melody=sm.sm_id) OR !cp.id_melody)
AND sm.sm_singer_id=sn.singer_id
AND ls.net_singer_id=sn.singer_id
GROUP BY cp.id
ORDER BY cp.cur_pos
Иногда значения перменных @nm, @dif_days,@cm кудато пропадают приблизительно каждая десятая интерация, иногда по несколько раз в подряд!
т.е. не работает та часть запроса, которая выводит разницу в неделях между двумя датами.
запрос выполняется посредством языка PHP а если точнее то PEAR