Ошибка в запросе БД. Помогите пожалуйста!

InstantCMS 2.X
#16 18 декабря 2018 в 20:31

на этом тему можно закрыть)))

dwd
Ну да, дальше уже пошел какой то детский сад.

Надеюсь Вы воспользуетесь переменной ctype_data, что бы решить проблему ТС (это не требование, просто так правильно)
#17 18 декабря 2018 в 20:36
Ай-я-яй, опять оклеветали самого гениального крайне-правого супер-мега-разработчика. Александр, как Вы посмели? У Вас вообще совесть есть? Как Вы вообще смеете критиковать это произведение искусства, другим словами это творение и назвать язык не повернется.

З.Ы. Вы обязаны, просто обязаны хранить всю переписку с этим мудрым, отзывчивым, ответственным и, самое главное, самым наилучшим программистом всея Вселенной. И вообще, не пререкайтесь, а срочно извинитесь и перепешите Ваш компонент в соответствии с требованиями величайшего творца бесподобных компонентов господина Evanescence.

#18 18 декабря 2018 в 20:57
Есть же системный метод isTableExists($table_name)- которым в хуке content_before_add можно проверить существование таблицы перед вызовом полей таблицы getTableFields. И снять этот вопрос навсегда.
#19 18 декабря 2018 в 21:08

обязаны хранить всю переписку

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

Как Вы вообще смеете критиковать

неужели данунафиг
Я нормально отношусь к критике, но в данном случаи, он цитировал меня так, как будет я назвал свой компонент и мапс косячными, но в действительности было так:

Про мапс я написал выше — разработчики глухи и немы поэтому им говорить что-то бесполезно. Раньше я писал костыли под этот компонент, потом мне это осточертело. Кто-то стрижет немалые деньги на костылях, а я должен расхлебывать его проблемы. Теперь когда ко мне обращаются с подобными проблемами я просто говорю — "Выкиньте этот костыль"

dwd
#20 18 декабря 2018 в 21:24

Есть же системный метод isTableExists($table_name)

Старый балбес, да, есть, но для других случаев. Давайте каждую переменную проверять будем. Какова будет скорость сайта? Если переменная должна содержать название типа контента значит она ее должна содержать. Если так во всей системе значит так должно быть и тут. Днем, ночью и в любую погоду. Так задумано разработчиками и не нам это менять. Не надо никаких "можно", "если бы", "а вдруг", потому, что там где эти "можно", "если бы", "а вдруг" начинаются, там заканчивается программирование. Код должен быть стандартизован и структурирован. Если предполагается, что тип контента это стандарт значит ответ очевиден, не понимаю почему меня тут все убеждают писать костыли в том месте где они не нужны.

Да, что бы голословно обвинить человека в том что он не сказал или не совершал

А я вас в чем-то обвинял? Вроде нет. Я лишь сказал что разговор на эту тему был и было нежелание что-то исправлять. И было это около года назад. И ситуация была точно такая же — ставит человек компонент и ошибка у него. Вот вы из моего письма цитату привели, могли бы и свой текст почитать, у меня этого письма давно уже нет.
#21 18 декабря 2018 в 21:44

Если переменная должна содержать название типа контента значит она ее должна содержать. Если так во всей системе значит так должно быть и тут

dwd
Соглашусь на 100%. В нулевом сегменте должно быть системное название ТК и не иначе.

Давайте каждую переменную проверять будем

dwd
Давайте будем лучше проверять несуществующие переменные, в этом хуке переменной $data нет, но она проверяется. ( по крайней мере в бесплатной версии Версия: 1.1.2 — 05.05.2017).
  1.  
  2. if(isset($data['ctype_id'])) {
  3.  
И ничего, скорость не снизилась zst
#22 18 декабря 2018 в 21:46

А я вас в чем-то обвинял? Вроде нет.

dwd
Это было адресовано не Вам.

разговор на эту тему был и было нежелание что-то исправлять.

dwd
Желание было, я написал "Если не поможет, могу в свой компонент добавить строку $c->uri_action = 'board';", в ответ получил 4 абзац текста о том, какой костыль мы разрабатывает.
#23 18 декабря 2018 в 22:03

Давайте будем лучше проверять несуществующие переменные, в этом хуке переменной $data нет, но она проверяется. ( по крайней мере в бесплатной версии Версия: 1.1.2 — 05.05.2017).

Да, там этому посвящен целый абзац кода, согласен. И думаю не только там. Первая ветка компонента писалась на коленке за неделю потому что как бывает в жизни некоторым людям надо бегом и срочно. Ну а вторая писалась спустя год, писалась не спеша и с высоты накопленного опыта. Так что два абсолютно разных компонента. И я не претендую на гениальность, у меня тоже косяков хватает, хоть я и стараюсь всячески с ними бороться.

Evanescence, не вижу смысла развивать тему. Просто хочу заметить, что собственно и общение с вами на эту тему началось с того, вам писал не я, а ваш покупатель и просил вас добавить $c->uri_action = 'board';, просил по моей просьбе. И сегодня я топикстартеру этой темы то же самое ответил. И размером квалификации меряться мне тоже не интересно и обсуждать кто кого круче не интересно. У человека возникла проблема, мы ее решили. Вы считает что не стоит менять параметры на исходные, я с вами не согласен. А дискутировать то о чем? все равно каждый останется при своем.
#24 19 декабря 2018 в 21:08
Не думал, что эта тема разовьет такую дискуссию, при чем бесполезную, ведь исходя из ваших же текстов, решить данную проблему достаточно не сложно, но вы ее не решаете. В чем причина? Не можете договориться между собой? А в чем виноваты те, кто приобретают у вас ваши разработки к этой CMS?

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

Хотя, эта ситуация не самая неприятная. Есть такие господа, что продают свою разработку а на следующий день удаляют ее с продажи, прекращают ее поддерживать, да еще оказывается, что эта разработка вообще не соответствует описанному на стенде функционалу, но есть оправдание — разработчик описал несоответствие у себя в блоге… жесть )))).

Касаемо данной ситуации — оба разработчика талантливые специалисты, у них довольно интересные дополнения к Инстанту, вот было бы просто замечательно, если бы они оба пошли друг другу на встречу и нашли общий язык! Вот этот, на первый взгляд маленький шаг, дал бы instantcms очень сильный толчок к дальнейшему развитию.

Желаю всем разработчикам на instantcms найти общий язык и работать в одной команде, и тогда, быть может, instantcms сможет конкурировать с популярными CMS на высоком уровне. У Инстанта огромный потенциал, но все зависит от сообщества разработчиков.

А я пошел на свой сайт, умиляться зрелищем конфликтующих между собой дополнений, и как не странно, мне абсолютно все равно кто и в каком дополнение ошибся в написании кода. roflglasses
#25 12 июня 2019 в 09:28
Раз тема не закрыта решил написать сюда.Во-первых, всех поздравляю с праздником! Во-вторых, нужен совет.Сайт на 1.10.3, ничего не делалось, кроме добавления статей и вдруг сегодня утром выдает ошибку DATABASE ERROR: при попытке перейти в один из разделов каталога статей "новости". Все остальные открываются нормально. В админке тоже при переходе в новости вылетает ошибка, чуть другая. Почему слетел именно этот раздел? Проверка деревьев ошибок не показывает. Сама ошибка такая
DATABASE ERROR:
SELECT con.*,
con.pubdate as fpubdate,
cat.title as cat_title, cat.seolink as catseolink,
cat.showdesc,
u.nickname as author,
u.login as user_login
FROM cms_content con
LEFT JOIN cms_content_cats ct ON con.id = ct.item_id
LEFT JOIN cms_category cat ON cat.id = ct.category_id
LEFT JOIN cms_users u ON u.id = con.user_id
WHERE con.is_arhive = 0
AND (con.category_id IN (SELECT id FROM cms_category cat WHERE cat.NSLeft >= 4 AND cat.NSRight <= 51) OR ct.category_id IN (SELECT id FROM cms_category cat WHERE cat.NSLeft >= 4 AND cat.NSRight <= 51))
AND (con.showlatest = 1)
AND (con.is_favorite = 1)
AND (con.published = 1 AND con.pubdate <= '2019-06-12 08:54:50' AND (con.is_end=0 OR (con.is_end=1 AND con.enddate >= '2019-06-12 08:54:50')))

GROUP BY con.id
ORDER BY con.pubdate DESC LIMIT 0, 3
Unknown column 'con.is_favorite' in 'where clause'
#26 12 июня 2019 в 09:48

и вдруг сегодня утром выдает ошибку DATABASE ERROR

olegan

Просто ошибка доступа к базе данных.
Либо ее сломали
либо кончилось свободное место на хостинге
Либо и то и другое.

Первым делом, проверьте свободное место, почистите папку кэша
#27 12 июня 2019 в 09:52
olegan, в таблице cms_content отсутствует столбец is_favorite
#28 12 июня 2019 в 10:00


и вдруг сегодня утром выдает ошибку DATABASE ERROR

olegan

Просто ошибка доступа к базе данных.
Либо ее сломали
либо кончилось свободное место на хостинге
Либо и то и другое.

Первым делом, проверьте свободное место, почистите папку кэша

@iKrym

Тогда бы, наверное, не открывались бы все разделы каталога статей.А так ошибка только в одном.
#29 12 июня 2019 в 10:00


olegan, в таблице cms_content отсутствует столбец is_favorite

Loadырь

А как восстановить и как узнать причину его исчезновения?
#30 12 июня 2019 в 10:18

как узнать причину его исчезновения?

olegan
Вспомнить всё из того что

ничего не делалось

olegan
и потом действовать по ситуации.

как восстановить

olegan
Добавить отсутствующий столбец в таблицу.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.