Никак не могу нормально установить birthdays.
выдается сообщение:user warning: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(birthday) as d, month(birthday) as m, query: SELECT day(birthday) as d, month(birthday) as m, year(birthday) as y, DATE_FORMAT( NOW( ) , '%Y' ) - DATE_FORMAT( birthday, '%Y' ) - ( DATE_FORMAT( NOW( ) , '%m%d' ) < DATE_FORMAT( birthday, '%m%d' ) ) AS age FROM dob WHERE uid = '1' LIMIT 1 in velo.chepetsk.ru/www/includes/database.mysql.inc on line 167.
user warning: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(dob.birthday) as d FROM dob, users WHERE users.uid query: SELECT dob.uid, users.name, month(dob.birthday) as m, day(dob.birthday) as d FROM dob, users WHERE users.uid = dob.uid AND DAYOFYEAR(dob.birthday) >= DAYOFYEAR(curdate()) order by m, d limit 0,6 in velo.chepetsk.ru/www/includes/database.mysql.inc on line 167.
user warning: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(dob.birthday) as d FROM dob, users WHERE users.uid query: SELECT dob.uid, users.name, month(dob.birthday) as m, day(dob.birthday) as d FROM dob, users WHERE users.uid = dob.uid AND DAYOFYEAR(dob.birthday) >= 0 AND DAYOFYEAR(dob.birthday) < DAYOFYEAR(curdate()) ORDER BY m, d limit 0,6 in velo.chepetsk.ru/www/includes/database.mysql.inc on line 167.
Что делаю не так?
Спасибо.
Комментарии
Посмотри в example.com/admin/log/status какая версия mysql? Функция DAY() была добавлена в mysql 4.1.1. В старых версиях следует использовать DAYOFMONTH().
http://drupal.org/node/183543
Закрыл поспешно открытый багрепорт. В коде последней версии 5.x-1.x-dev всё чисто - её и следует ставить.
MySQL database 4.0.26
В логах еще предупреждение Database schema Out of date
Some modules have database schema updates to install. You should run the database update script immediately.
Может, проблема в этом?
Не нашла функцию DAY
result = db_query (
DATE_FORMAT({dob}.birthday,'$current_year%%m%%d') - DATE_FORMAT(ADDDATE(NOW(),INTERVAL %d SECOND),'%%Y%%m%%d') >= 0
AND
DATE_FORMAT({dob}.birthday,'$current_year%%m%%d') - DATE_FORMAT(ADDDATE(ADDDATE(NOW(),INTERVAL %d SECOND),INTERVAL %d DAY),'%%Y%%m%%d') < 0
) )
ORDER BY MONTH({dob}.birthday), DAYOFMONTH({dob}.birthday), YEAR({dob}.birthday), {users}.name", $timezone, $amount, $timezone, $timezone, $amount
);
Тут уже есть DAYOFMONTH.
Или я не там смотрю?
Я смотрел на текст ошибки, там явно в запросе фигурирует DAY:
SELECT day(birthday)
. Вообще надо код глянуть.Оппа, действительно нет в коде. В birthdays 5.x-1.x-dev вообще не вижу тех запросов, что у тебя выдавали ошибку. У тебя какая версия модуля?
Чтобы не было 'database schema out of date' надо залогиниться на сайте пользователем #1 (админом), перевести сайт в оффлайн, затем выбрать example.com/update.php и провести процедуру апдейта данных. Это бывает нужно после переустановки модулей, когда новые версии модулей требуют другой структуры своих таблиц.
Но именно она у меня и стоит.
Так в чем же проблема?
Жалко, если не поставлю. Это скрасило бы сайт.
Тут какая-то нестыковка. В первом сообщении были ошибки с функцией day (см. текст топика), на mysql 4.0.26 эти функции не работают, поэтому не работает модуль. Но в модуле версии 5.x-1.x-dev этой функции уже нет и значит таких ошибок возникать не может. Либо у тебя другая версия модуля, либо я чего-то не допонял.
что-то я не пойму, Axel же указал, что "Посмотри в example.com/admin/log/status какая версия mysql? Функция DAY() была добавлена в mysql 4.1.1."
А в ответ MySQL database 4.0.26. Надо обновить базу до 4.1 - это многие не знают, но версии 4.0 и 4.1 сильно различаются, в этом как я понимаю и проблема
Простите и не удивляйтесь. я в этом полный ноль.
мне казалось, что базу обновляет моя хостинговая компания
Axel! Я Туплю!!! Меня Друпал ввел в заблуждение. На странице модулей он мне упорно выдавал, что стоит 5.x-1.x-dev. Проверила файл на площадке - в действительности просто 5.x-1.x! Скачала новый с оф.сайта- все заработало. Спасибо за помощь!