Не добавляет раздел

Выдает ошибку SQL

 
Посетитель
small user social cms
Медаль
Сообщений: 180
Всем доброго времени суток!
Установил на реальный хостинг версию 1.5.2. В версии имеются два раздела контента "Новости" и "Статьи". При попытке создать еще один раздел выдает: Nested sets error: SELECT * FROM cms_category WHERE id = AND NSDiffer = ’’
Сперва подумал, что это из-за большого кол-ва разделов в Доске объявлений, но когда заново переустановил сайт целиком (с заведением новой базы данных, удалением старых файлов и установкой новых) - все осталось по прежнему.
Включил режим отладки и попытался снова создать новый раздел. Выдало:

DATABASE ERROR:

SELECT * FROM cms_category WHERE id = AND NSDiffer = ’’

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 ’AND NSDiffer = ’’’ at line 1

"Проверка БД" ничего не выдало (все - ОК), "Проверка деревьев" так же ОК.
Кто-нибудь сталкивался с подобным? Где и что подправляется?
Sometime CMS Community
Посетитель
no avatar
Сообщений: 34
Похоже, опять без демо-данных люди устанавливают сайты, не понимая, что будут глюки с разделами по умолчанию. Демоданные не только данные, но и ценный мех. v
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 180
Яшоматинандан:

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

Да. Я ставил без демо-данных. Причем при отсутстсвии установки демо-данных оба раздела (Статьи и Новости) все равно существуют. Они что служебные чтоли? К тому же (насколько я помню): демо-данные тоже из разделов содержат те же Новости и Статьи, что и в голой инсталляции у меня в версии 1.5.2. К тому же в существующие разделы статьи добавляются, информация о существующих разделах модифицируется и сохраняется, а не работает создание нового раздела контента как в Корневом разделе, так и в других.

Так делать то что? Насколько я понимаю выданное MSQL - дело тут в неправильном синтаксисе запроса. Демо данные же относятся к содержимому базы данных, а не файлам содержащим SQL-запросы.
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 546
На этом многие новички прокалываются. Инстант не Джумла. Поэтому поставь с демоданными , а потом лишнее (его не так много) поудаляй. Съэкономишь и себе, и другим немало нервов и времени.
Прощайте и здравствуйте, как всегда!
Посетитель
small user social cms
Медаль
Сообщений: 180
Снегурочка:

На этом многие новички прокалываются. Инстант не Джумла. Поэтому поставь с демоданными , а потом лишнее (его не так много) поудаляй. Съэкономишь и себе, и другим немало нервов и времени.

Ну это как сказать. У меня в доске объявлений более 1200 разделов. Какие нервы тут можно сэкономить - не предполагаю, если учесть, что вбивал я их 3 дня.

Ну да ладно - не об этом сейчас. Создал чистую базу данных на хостинге в том же домене, создал отдельный поддомен, скопировал файлы, выставил права доступа, проинсталлировал InstantCMS версии 1.5.2. на поддомен с демо-данными. Конечно в разделе "Контент - Разделы" гораздо больше данных, чем просто "Статьи" и "Новости" без установки демо, но .... переустановка с демо-данными ничего не дала - все та же ошибка и все так же при добавлении нового раздела контента. :(
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 546
А ты одинарными кавычками не пользовался, случаем?
Прощайте и здравствуйте, как всегда!
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1551
А причём тут кавычки?
вопрос
Снегурочка:
А ты одинарными кавычками не пользовался, случаем?
ответ
Снегурочка:
переустановка с демо-данными ничего не дала - все та же ошибка

я так понял, что установка с нуля даже даёт сбой
Редактировалось: 1 раз (Последний: 28 декабря 2009 в 13:31)
Ну типа продвигаю сайты, по немногу и не напрягаясь. smile
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 546
Я правильно поняла, что ошибка возникла не после установки Инстанта, а именно при попытке создания раздела?
Прощайте и здравствуйте, как всегда!
Посетитель
small user social cms
Медаль
Сообщений: 180
Снегурочка:

Я правильно поняла, что ошибка возникла не после установки Инстанта, а именно при попытке создания раздела?

Нет. Кавычками я не пользволася, и спецсимволами тоже. Обычное название пытался завести - "Выставки" (без кавычек имеется ввиду).

Статьи в существующие разделы добавляются, существующие разделы изменяются, но новые разделы - не создаются :(

Сейчас накатаю туда же предыдущую версия 1.5.1 (с ней я уже работал) и посмотрю что она даст на этом же домене.
Редактировалось: 1 раз (Последний: 28 декабря 2009 в 13:47)
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 546
Ммммм....еще пришла в голову идея - CMOD какой выставил на папки?
Прощайте и здравствуйте, как всегда!
Посетитель
small user social cms
Медаль
Сообщений: 180
Снегурочка:

Ммммм....еще пришла в голову идея - CMOD какой выставил на папки?

Как в readme.txt указано - 777 на перечисленные папки (и папки внутри них).
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 546
Вот что я обнаружила, пока ты ставишь 1.5.1. В стандартном движке инстанта версии 1.5.2 НИГДЕ нет такого sql-запроса
Код PHP:
  1. SELECT * FROM cms_category WHERE id = AND NSDiffer = ''
, или даже похожего.
Обращения к cms_category есть. Но ИМЕННО ТАКОГО текста нет нигде. Я поиском воспользовалась сперва по cms_category а потом в найденных искала NSDiffer. Это наводит на размышления о модификации движка.....
Редактировалось: 2 раз (Последний: 28 декабря 2009 в 14:30)
Прощайте и здравствуйте, как всегда!
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 546
Алексей, были сообщения, что не на всех хостах 777 работает как надо. может, дело в этом? Вот уж ты загадал загадку....
Прощайте и здравствуйте, как всегда!
Посетитель
small user social cms
Медаль
Сообщений: 180
Установил на тот же домен в еще один поддомен с новой базой данных версию 1.5.1 - без демо-данных - все работает, разделы изначально отсутствуют (почему то в 1.5.2 без демо-данных существуют разделы "Новости" и "Статьи", а в 1.5.1 их нету), но новые разделы легко заводятся без ошибок.

Снегурочка:

Вот что я обнаружила, пока ты ставишь 1.5.1. В стандартном движке инстанта НИГДЕ нет такого sql-запроса
Код PHP:
  1. SELECT * FROM cms_category WHERE id = AND NSDiffer = ''
.
Обращения к cms_category есть. Но ИМЕННО ТАКОГО текста нет нигде. Я поиском воспользовалась сперва по cms_category а потом в найденных искала NSDiffer. Это наводит на размышления о модификации движка.....

Снегурочка, а ты так и не найдешь по целиковой строке, ведь в текстовике программы явно после
Код PHP:
  1. id =
стоит значение, которое должно присваиваться, да и после
Код PHP:
  1. NSDiffer =
тоже должно быть значение. Я вчера всю ночь потратил на поиски, по сочетаниям
Код PHP:
  1. cms_category WHERE id =
,
Код PHP:
  1. AND NSDiffer = '
,
Код PHP:
  1. SELECT * FROM cms_category WHERE id =
и не нашел никакого криминала и ошибок. Точнее пара сомнительных строк типа id = $id вместо id = ’$id’ я нашел (одну строку в файле admin/applets/cats.php и вторую в файле admin/editor/index.php), но подправка с добавлением одинарных кавычек ничего не дала.

Вот я как представляю что случилось, раз получена строка ошибки
Код PHP:
  1. SELECT * FROM cms_category WHERE id = AND NSDiffer = ''
:
Где то в SQL запросе в одном из файлов CMS присутствует
Код PHP:
  1. SELECT * FROM cms_category WHERE id = [i]переменная1[/i]
, а не
Код PHP:
  1. SELECT * FROM cms_category WHERE id = '[i]переменная1[/i]'
, а поскольку в одинарные кавычки переменная1 не заключена или же она получает значение NULL или еще какую пустоту, то SQL предполагает, что значение id идет после символа =, а после этого символа = у нас как раз идет
Код PHP:
  1. AND NSDiffer = ''
, которые в режиме отладки система предлагает заключить в одинарные кавычки, считая целиком все это значением для id. Потому и выдается такая фишка, как:
Код PHP:
  1. 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 'AND NSDiffer = ''' at line 1
Редактировалось: 1 раз (Последний: 28 декабря 2009 в 14:43)
Посетитель
small user social cms
Медаль
Сообщений: 180
Снегурочка:

Алексей, были сообщения, что не на всех хостах 777 работает как надо. может, дело в этом? Вот уж ты загадал загадку....

У меня хостинг на Агаве: Apache 1.3.41 (Unix), PHP 5.2.11, MySQL 5.0.84-log
Снегурочка, я и сам не ожидалтакой подковыки. Все проинсталилось изначально гладко без предупреждений и ошибок, поскольку объем самый большой по сайту был связан с Доской объявлений - за нее и взялся первой, а когда окончил - модули повключал, затем дизайном немного позанимался и захотел для раздела "Новости" создать несколько подразделов. Вот тут то и всплыла эта бяка.

Т.е. ты считаешь, что нужно с правами поиграться? Например 755 установить на те же папки?

В версии 1.5.2 с демо-данными поудалял все статьи, затем все разделы. Попытался создать новый раздел - снова выскочила та же ошибка. Заменил права на папки с 777 на 755 - создание нового раздела так же завершается той же ошибкой.
Редактировалось: 1 раз (Последний: 28 декабря 2009 в 15:22)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.