Вы не зашли.
Страницы 1
вроде сделал шаблон, на локалке двиг погонял..
решил залить на хост и возникла проблема..
после установки - вверху сайта выдается ошибка..
MySQL ERROR [select]: SELECT day(from_unixtime(postdate)) as day, count(id) as count FROM ng_news WHERE approve = '1' AND postdate >= unix_timestamp('2009-09-01 00:00:00') AND postdate < unix_timestamp(date_add('2009-09-01 00:00:00', interval 1 month)) group by to_days(from_unixtime(postdate))
(1064): 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 '(from_unixtime(postdate)) as day, count(id) as count FROM ng_ne
версия сервера sql
Версия сервера: 4.0.27-standard
Версия протокола: 10
Сервер: Localhost via UNIX socket
phpMyAdmin - 2.9.0
Версия MySQL-клиента: 3.23.58
Использованы расширения PHP: mysql
при вхождении в админку на первой странице, где должна быть инфа о движке и т.д. - пусто..
при добавлении динамической новости..
Not Acceptable
An appropriate representation of the requested resource /engine/admin.php could not be found on this server.
Apache/2.0.53 (ASPLinux) Server at *** Port 80
хотя стастич. страницы без проблем добавляются
что за ошибка такая и как её можно победить?
спасибо..
Изменено RMC (2009-09-29 15:37:02)
Не в сети
вот 12 таблиц..
вроде все..
сейчас ппопробую на локулку с нуля поставить, посмотреть сколько их должно быть
таблица Действие Записи Тип Размер Накладные расходы
ng_category 0 MyISAM 1.0 КБ -
ng_comments 0 MyISAM 1.0 КБ -
ng_config 1 MyISAM 2.2 КБ -
ng_files 0 MyISAM 1.0 КБ -
ng_flood 0 MyISAM 1.0 КБ -
ng_images 0 MyISAM 1.0 КБ -
ng_ipban 0 MyISAM 1.0 КБ -
ng_news 0 MyISAM 2.0 КБ -
ng_news_map 0 MyISAM 1.0 КБ -
ng_static 0 MyISAM 1.0 КБ -
ng_users 1 MyISAM 4.1 КБ -
ng_users_pm 0 MyISAM 1.0 КБ -
12 таблиц(ы) Всего 2 MYISAM 17.3 КБ 0 Байт
Не в сети
создал на локалке.
сразу обратил внимание на разницу в полях таблиц. на локалке есть еще поле Сравнение, где указано utf8_general_ci
на хосте такого нет вообще..
попробовал сделать импорт своей таблицы..
получил
Ошибка
SQL-запрос:
-- --------------------------------------------------------
--
-- Структура таблицы `ng_category`
--
CREATE TABLE `ng_category` (
`id` int( 10 ) NOT NULL AUTO_INCREMENT ,
`position` int( 10 ) default NULL ,
`name` varchar( 50 ) NOT NULL default '',
`alt` varchar( 50 ) NOT NULL default '',
`flags` char( 10 ) default '',
`tpl` char( 20 ) default '',
`number` int( 11 ) default '0',
`parent` int( 10 ) default '0',
`description` text,
`keywords` text,
`icon` varchar( 255 ) NOT NULL ,
`alt_url` text,
`orderby` varchar( 30 ) default 'id desc',
`posts` int( 11 ) default '0',
`posorder` int( 11 ) default '0',
`poslevel` int( 11 ) default '0',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT =1;
Ответ MySQL:
#1064 - 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 'DEFAULT CHARSET=utf8 AUTO_INCREMENT=1' at line 19
может ли быть описанная проблема из-за этого отстуствующего поля, или это поле кодировок не влияет и ошибка
MySQL ERROR [select]: SELECT day(from_unixtime(postdate)) as day, count(id) as count FROM ng_news WHERE approve = '1' AND postdate >= unix_timestamp('2009-09-01 00:00:00') AND postdate < unix_timestamp(date_add('2009-09-01 00:00:00', interval 1 month)) group by to_days(from_unixtime(postdate))
возникает по другой причине?
Изменено RMC (2009-09-30 20:56:42)
Не в сети
версия sql какая?
скорее всего твоя версия не поддерживает такую форму запроса
-----------------------------------------------
Только что глянул, так и есть, если у тебя версия сервера 4.0, то функция DAY() у тебя работать не будет. Она появилась только в v4.1.1
-----------------------------------------------
Еще раз глянул, можно заменить функцией DAYOFMONTH()
Изменено Amarelius (2009-09-30 21:41:37)
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
версия сервера sql
Версия сервера: 4.0.27-standard
Версия протокола: 10
Сервер: Localhost via UNIX socket
(вроде писал в 1 посте )
так что проблема видимо таки в стареньком сервере..
насколько безболезненно и сложно заменить функцию?
спасибо
Не в сети
Надо просто во всех запросах, которые есть в движке заменить DAY на DAYOFMONTH,
А если по грамотному, то сначала проверь хоть на одном запросе через phpMySqlAdmin (по идее должен быть у тебя на сервере)
Изменено Amarelius (2009-09-30 22:05:07)
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
По идее (но не обязательно) у тебя в панели управления хоста должна быть утилитка phpMyAdmin, так вот, заходишь в нее и там будет кнопочка (или ссылочка) "Выполнить запрос", щелкаешь, в большое текстовое поле вводишь что-то типа SELECT DAYOFMONTH(from_unixtime(postdate)) as day, count(id) as count FROM ng_news жмешь "Выполнить" и смотришь результат, если не матюкнулось и корректно обработало (а если матюкнется ты это сразу поймешь), то все ОК и ты можешь потихоньку начинать перелопачивать движек заменяя DAY на DAYOFMONTH
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
матюкнулося )
Ошибка
SQL-запрос:
SELECT DAYOFMONTH( from_unixtime( postdate ) ) AS
DAY , count( id ) AS count
FROM ng_news
LIMIT 0 , 30
Ответ MySQL:
#1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause
может конечно потому, что новостей нет..
но я их и добавить то не могу.
Изменено RMC (2009-09-30 23:01:08)
Не в сети
Главное что DAYOFMONTH проглатило, значить должно работать, а сейчас матюкнулось, потому-что count без GROUP BY не используеться. Попробуй такой запрос SELECT DAYOFMONTH(from_unixtime(postdate)) as day, count(id) as count FROM ng_news WHERE approve = '1' AND postdate >= unix_timestamp('2009-09-01 00:00:00') AND postdate < unix_timestamp(date_add('2009-09-01 00:00:00', interval 1 month)) group by to_days(from_unixtime(postdate))
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
это проканало..
MySQL вернула пустой результат (т.е. ноль рядов). (Запрос занял 0.0004 сек)
SQL-запрос:
SELECT DAYOFMONTH( from_unixtime( postdate ) ) AS
DAY , count( id ) AS count
FROM ng_news
WHERE approve = '1'
AND postdate >= unix_timestamp( '2009-09-01 00:00:00' )
AND postdate < unix_timestamp( date_add( '2009-09-01 00:00:00', INTERVAL 1
MONTH ) )
GROUP BY to_days( from_unixtime( postdate ) )
LIMIT 0 , 30
осталось разобратся где что менять..
если есть возможность и время помочь стукни, плз в аську 127280650 а то долго так вопросы-ответы постить..
окончательный вариант уже выложу на форум, если кто столкнется с таким "старинным" хостингом
Не в сети
Все немного сложнее чем ты думаешь, поможет тебе рефакторинг всех запросов в движке и его плагинах, возможно придется менять и другие не поддерживаемые структуры запросов, а при обновлении на новую версию движка делать эту процедуру заново.
Мой совет, обратись к vitaly'ю, он непосредственно ведет разработку системы и если он проделает эту процедуру, то проблем со следующими релизами быть не должно, а также он точно знает где в движке все эти запросы прячутся. Тем более что в спецификации движка указанно
СИСТЕМНЫЕ ТРЕБОВАНИЯ
----------------------------
- Apache 1.x/2.x
- PHP 4.3.x
- MySQL 4.x/5.x
т.е. такой рефакторинг подгонит движек под системные требования...
-------------------------------------------------------
пысы. Меняй хостера, так дешевле, ведь системные требования теперь точно поменяют
Изменено Amarelius (2009-09-30 23:32:30)
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Ага, особенно с учётом того, что я вот этот документик хочу подправить - указать, что PHP 5 минимум нужен, да и mysql скорее всего тоже 5й пропишу.
Появляется всё больше полезных функций, которых не было в старых версиях PHP/MySQL, а хостингов на которых стоят старые версии софта наоборот становится всё меньше. Так что завязываться на поддержку старых версий просто нет смысла.
Не в сети
vitaly, я конечно спрошу админа, но увы, вряд ли будет положительный ответ..
просто сменить нереально..
нужен именно поддомен того хоста..
офтоп
на самом деле все проще...
есть сайт университета, написанный 100 лет назад (ну по крайней мере где-то тогда-же, когда и сервак с этой версий sql подняли), есть факультет (географический), где я работаю, и получил "партийное" задание сделать отдельный "подсайт", со своим меню, шапкой, наполнением и т.д.
нам выделили фтп, поддомен, сделали базу, я долго выбирал движки (ломанный dle - как-то несолидно, из новых free приглянулся ngcms простотой и логикой оформления, остальные уж очень местами заумные). и вот, когда уже доделал диз, вроде всем уже понравился - начал заливать и такая бяка..
можно конечно на основном сайте сделать редирект на нормальный хостинг и хостится там.., но не поймут, почему не тот адрес..
Изменено RMC (2009-09-30 23:43:16)
Не в сети
RMC, а обсудить с админами вопрос апгрейда софта нельзя?
можно даже им помочь
Если не получится, то вариант всё-равно есть - можно взять версию и специально подкрутить под твою версию софта. Но вносить эти подкрутки в основной код мне очень не хочется, так что это будет патч специально под тебя и с новыми версиями получится так же проблема.
Не в сети
vitaly, спасибо за помощь..
скину админу ссылку на топ, посмотрим что скажет
(просто вряд-ли согласится - там же базы и для самого сайта, и для нек-х других факультетов (с этого все и началось , у физ-мата есть, а у нас - нет, надо сделать ) а насколько чреват переезд, гм..)
но буду надеятся, что получится..
если нет - насколько сложен процесс адаптации под столь "старинную" конфигурацию?
так как стараюсь брать с свн - то, чтобы не "зафиксироватся" с одной версией - может можно как-то описать сам процесс, чтобы сделать его при необходимости самостоятельно? если такое возможно, конечно..
Не в сети
vitaly, вопрос наверно снят, такая конструкция встречается только в плагине календарь и только один раз
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Насколько я знаю, апгрейд на новую версию mySQL админам ничем не грозит, обратная совместимость по функциям там полная. Вопрос только в том - готовы ли они потратить на этот апгрейд своё время и нет ли какого-то политического решения, запрещающего любые обновления (в универе такое вполне можно ожидать - к примеру, какой-нить странный приказ от ректора вполне может иметь место).
Насколько сложен - не знаю. Надо будет поставить вашу версию PHP/mysql и править возникающие ошибки пока не заработает. У меня есть огромное подозрение, что проблема возникнет не только с mysql, но и надо будет искать альтернативу некоторым новым функциям PHP (с этим, в принципе, проболем нет - почти для всех на php.net есть варианты решения проблемы).
Не в сети
Страницы 1