Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2009-09-29 15:32:42

RMC
Участник
Зарегистрирован: 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

ошибка mysql

вроде сделал шаблон, на локалке двиг погонял..
решил залить на хост и возникла проблема..

после установки - вверху сайта выдается ошибка..
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

хотя стастич. страницы без проблем добавляются sad

что за ошибка такая и как её можно победить?
спасибо..

Изменено RMC (2009-09-29 15:37:02)

Не в сети

#2 2009-09-29 16:46:41

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: ошибка mysql

А ты точно корректно перелил БД с локального компьютера на хостинг?

Не в сети

#3 2009-09-29 20:00:10

RMC
Участник
Зарегистрирован: 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: ошибка mysql

я их совсем не переливал..
думал заполнение давать уже на хостинге..
так что базы "нулевые", движком созданные..

Не в сети

#4 2009-09-30 14:45:34

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: ошибка mysql

Т.е. установил нулёвый двиг на хостинг и сразу же возникли проблемы?

Не в сети

#5 2009-09-30 15:07:59

RMC
Участник
Зарегистрирован: 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: ошибка mysql

именно так..
увы, хостинг сменить не могу, т.к. есть свои "заморочки".
как это победить - не знаю.. админ хоста тоже wink

Изменено RMC (2009-09-30 15:40:06)

Не в сети

#6 2009-09-30 15:53:37

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: ошибка mysql

Проверь, таблицы в БД вообще создались хоть?

Не в сети

#7 2009-09-30 16:03:03

RMC
Участник
Зарегистрирован: 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: ошибка mysql

вот 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 Байт

Не в сети

#8 2009-09-30 20:53:24

RMC
Участник
Зарегистрирован: 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: ошибка mysql

создал на локалке.
сразу обратил внимание на разницу в полях таблиц. на локалке есть еще поле Сравнение, где указано utf8_general_ci
на хосте такого нет вообще.. sad
попробовал сделать импорт своей таблицы..
получил
Ошибка

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)

Не в сети

#9 2009-09-30 21:24:54

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: ошибка mysql

версия sql какая?
скорее всего твоя версия не поддерживает такую форму запроса
-----------------------------------------------
Только что глянул, так и есть, если у тебя версия сервера 4.0, то функция DAY() у тебя работать не будет. Она появилась только в v4.1.1
-----------------------------------------------
Еще раз глянул, можно заменить функцией DAYOFMONTH()

Изменено Amarelius (2009-09-30 21:41:37)


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#10 2009-09-30 21:57:11

RMC
Участник
Зарегистрирован: 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: ошибка mysql

версия сервера sql
Версия сервера: 4.0.27-standard
Версия протокола: 10
Сервер: Localhost via UNIX socket
(вроде писал в 1 посте wink)

так что проблема видимо таки в стареньком сервере..
насколько безболезненно и сложно заменить функцию?

спасибо

Не в сети

#11 2009-09-30 22:02:24

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: ошибка mysql

Надо просто во всех запросах, которые есть в движке заменить DAY на DAYOFMONTH,
А если по грамотному, то сначала проверь хоть на одном запросе через phpMySqlAdmin (по идее должен быть у тебя на сервере)

Изменено Amarelius (2009-09-30 22:05:07)


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#12 2009-09-30 22:34:35

RMC
Участник
Зарегистрирован: 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: ошибка mysql

гм.. а можно чуть по-подробнее?
не совсем понял где и как это сделать (ньюб пока.. sad)

Не в сети

#13 2009-09-30 22:46:47

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: ошибка mysql

По идее (но не обязательно) у тебя в панели управления хоста должна быть утилитка phpMyAdmin, так вот, заходишь в нее и там будет кнопочка (или ссылочка) "Выполнить запрос", щелкаешь, в большое текстовое поле вводишь что-то типа SELECT DAYOFMONTH(from_unixtime(postdate)) as day, count(id) as count FROM ng_news жмешь "Выполнить" и смотришь результат, если не матюкнулось и корректно обработало (а если матюкнется ты это сразу поймешь), то все ОК и ты можешь потихоньку начинать перелопачивать движек заменяя DAY на DAYOFMONTH


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#14 2009-09-30 22:58:31

RMC
Участник
Зарегистрирован: 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: ошибка mysql

матюкнулося wink)

Ошибка

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

может конечно потому, что новостей нет..
но я их и добавить то не могу. sad

Изменено RMC (2009-09-30 23:01:08)

Не в сети

#15 2009-09-30 23:13:07

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: ошибка mysql

Главное что 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

Не в сети

#16 2009-09-30 23:18:30

RMC
Участник
Зарегистрирован: 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: ошибка mysql

это проканало..

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

осталось разобратся где что менять.. wink
если есть возможность и время помочь стукни, плз в аську 127280650 а то долго так вопросы-ответы постить..
окончательный вариант уже выложу на форум, если кто столкнется с таким "старинным" хостингом

Не в сети

#17 2009-09-30 23:24:10

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: ошибка mysql

RMC, самый правильный вариант всё-таки сменить хостера.
Либо обновить mysql на существующем хостинге - у вас там совсем уж древняя версия mysql установлена.

Не в сети

#18 2009-09-30 23:29:59

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: ошибка mysql

Все немного сложнее чем ты думаешь, поможет тебе рефакторинг всех запросов в движке и его плагинах, возможно придется менять и другие не поддерживаемые структуры запросов, а при обновлении на новую версию движка делать эту процедуру заново.
Мой совет, обратись к vitaly'ю, он непосредственно ведет разработку системы и если он проделает эту процедуру, то проблем со следующими релизами быть не должно, а также он точно знает где в движке все эти запросы прячутся. Тем более что в спецификации движка указанно

СИСТЕМНЫЕ ТРЕБОВАНИЯ
----------------------------
- Apache 1.x/2.x
- PHP 4.3.x
- MySQL 4.x/5.x

т.е. такой рефакторинг подгонит движек под системные требования...
-------------------------------------------------------
пысы. Меняй хостера, так дешевле, ведь системные требования теперь точно поменяют lol

Изменено Amarelius (2009-09-30 23:32:30)


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#19 2009-09-30 23:37:43

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: ошибка mysql

Ага, особенно с учётом того, что я вот этот документик хочу подправить - указать, что PHP 5 минимум нужен, да и mysql скорее всего тоже 5й пропишу.

Появляется всё больше полезных функций, которых не было в старых версиях PHP/MySQL, а хостингов на которых стоят старые версии софта наоборот становится всё меньше. Так что завязываться на поддержку старых версий просто нет смысла.

Не в сети

#20 2009-09-30 23:38:15

RMC
Участник
Зарегистрирован: 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: ошибка mysql

vitaly, я конечно спрошу админа, но увы, вряд ли будет положительный ответ..
просто сменить нереально..
нужен именно поддомен того хоста..

офтоп
на самом деле все проще...
есть сайт университета, написанный 100 лет назад (ну по крайней мере где-то тогда-же, когда и сервак с этой версий sql подняли), есть факультет (географический), где я работаю, и получил "партийное" задание сделать отдельный "подсайт", со своим меню, шапкой, наполнением и т.д.
нам выделили фтп, поддомен, сделали базу, я долго выбирал движки (ломанный dle - как-то несолидно, из новых free приглянулся ngcms простотой и логикой оформления, остальные уж очень местами заумные). и вот, когда уже доделал диз, вроде всем уже понравился - начал заливать и такая бяка.. sad

можно конечно на основном сайте сделать редирект на нормальный хостинг и хостится там.., но не поймут, почему не тот адрес..

Изменено RMC (2009-09-30 23:43:16)

Не в сети

#21 2009-09-30 23:41:23

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: ошибка mysql

RMC, а обсудить с админами вопрос апгрейда софта нельзя?
можно даже им помочь smile

Если не получится, то вариант всё-равно есть - можно взять версию и специально подкрутить под твою версию софта. Но вносить эти подкрутки в основной код мне очень не хочется, так что это будет патч специально под тебя и с новыми версиями получится так же проблема.

Не в сети

#22 2009-09-30 23:50:52

RMC
Участник
Зарегистрирован: 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: ошибка mysql

vitaly, спасибо за помощь..
скину админу ссылку на топ, посмотрим что скажет
(просто вряд-ли согласится - там же базы и для самого сайта, и для нек-х других факультетов (с этого все и началось wink, у физ-мата есть, а у нас - нет, надо сделать big_smile) а насколько чреват переезд, гм..)
но буду надеятся, что получится..

если нет - насколько сложен процесс адаптации под столь "старинную" конфигурацию?
так как стараюсь брать с свн - то, чтобы не "зафиксироватся" с одной версией - может можно как-то описать сам процесс, чтобы сделать его при необходимости самостоятельно? если такое возможно, конечно..

Не в сети

#23 2009-10-01 00:03:40

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: ошибка mysql

vitaly, вопрос наверно снят, такая конструкция встречается только в плагине календарь и только один раз


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#24 2009-10-01 00:05:06

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: ошибка mysql

Насколько я знаю, апгрейд на новую версию mySQL админам ничем не грозит, обратная совместимость по функциям там полная. Вопрос только в том - готовы ли они потратить на этот апгрейд своё время и нет ли какого-то политического решения, запрещающего любые обновления (в универе такое вполне можно ожидать - к примеру, какой-нить странный приказ от ректора вполне может иметь место).

Насколько сложен - не знаю. Надо будет поставить вашу версию PHP/mysql и править возникающие ошибки пока не заработает. У меня есть огромное подозрение, что проблема возникнет не только с mysql, но и надо будет искать альтернативу некоторым новым функциям PHP (с этим, в принципе, проболем нет - почти для всех на php.net есть варианты решения проблемы).

Не в сети

#25 2009-10-07 00:56:13

RMC
Участник
Зарегистрирован: 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: ошибка mysql

Amarelius, нашел еще одну конструкцию в плагине ГуглМап..
правда там вместо day - date. Вроде как не критично, заменил на dayofmonth - вроде работает..

еще раз спасибо за помощь и советы

Не в сети

Подвал раздела

Работает на FluxBB