Ошибка в запросе БД

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 16 ноября 2017 в 18:03
Всем привет. Помогите кто может со следующей проблемой

Ошибка в запросе БД:
У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около ')) AND (i.is_locked IS NULL) AND (i.is_deleted IS NULL) LIMIT 1000' на строке 3

SELECT i.*
FROM cms_users i
WHERE (i.id IN ()) AND (i.is_locked IS NULL) AND (i.is_deleted IS NULL)
LIMIT 1000

cmsModel->get() @ /system/controllers/users/model.php: 524
modelUsers->getNotifiedUsers() @ /system/controllers/messages/frontend.php: 122
messages->sendNoticePM() @ /system/controllers/sc_followers/hooks/activity_after_add.php: 61
onScFollowersActivityAfterAdd->run()
call_user_func_array() @ /system/core/controller.php: 521
cmsController->runExternalHook() @ /system/core/controller.php: 483
cmsController->runHook() @ /system/core/eventsmanager.php: 37
cmsEventsManager::hook() @ /system/controllers/activity/frontend.php: 54
activity->addEntry() @ /system/controllers/users/actions/profile_edit.php: 118
actionUsersProfileEdit->run()
call_user_func_array() @ /system/core/controller.php: 453
Подскажите где нарушен синтаксис и как это исправить. Заранее спасибо
#2 16 ноября 2017 в 21:00
Shuma,
Синтаксис нарушен вот тут:
WHERE (i.id IN ())
Между скобками должно что-то быть.
Исправить в файле /system/controllers/sc_followers/hooks/activity_after_add.php в строке 61
Но лучше спросить у разработчика этого самого sc_followers
#3 17 ноября 2017 в 05:58


Shuma,
Синтаксис нарушен вот тут:
WHERE (i.id IN ())
Между скобками должно что-то быть.
Исправить в файле /system/controllers/sc_followers/hooks/activity_after_add.php в строке 61
Но лучше спросить у разработчика этого самого sc_followers

Ris

Спасибо за помощь. Сейчас напишу разработчику
#4 18 ноября 2017 в 13:10
Подскажите плз! У меня на сайте форма, которая отправляется потом на почту. Задача, чтобы эти данные отправлялись еще в бд, а в админке потом эти данные из бд нужно вывести для редактирования. Я в этой cms первый раз. Что то ничего не пойму. Я сделал форму, с помощью ajax отправляю в php файл, который создал в корне сайта. Оттуда отправляю на почту. Как мне теперь там подключиться к БД и запрос сделать?
#5 18 ноября 2017 в 13:31
Это у Вас после установки компонентов в админке через каталог? 2.8 версии
#6 18 ноября 2017 в 13:35
@noreset,
Вы пытаетесь продублировать функции CMS.
Посмотрите лучше файлы в папке \system\core\
Там и подключение к базе в файле \system\core\database.php и всякие селекты/инсерты и еще много чего интересного.
Все эти функции можно использовать в своих дополнениях.
Вот здесь документация:
docs.instantcms.ru/dev/start
#7 18 ноября 2017 в 13:45


@noreset,
Вы пытаетесь продублировать функции CMS.
Посмотрите лучше файлы в папке \system\core\
Там и подключение к базе в файле \system\core\database.php и всякие селекты/инсерты и еще много чего интересного.
Все эти функции можно использовать в своих дополнениях.
Вот здесь документация:
docs.instantcms.ru/dev/start

Ris

Спасибо. С запросами к БД вроде разобрался. А вот такую конструкцию
  1.  
  2. $db = cmsDatabase::getInstance();
  3. $spec = $db->getRows('con_specialist', '1', 'title');
  4.  
ее можно вставить везде и она будет работать? Просто у меня файл php просто в корне валяется.
#8 18 ноября 2017 в 13:51

ее можно вставить везде и она будет работать? Просто у меня файл php просто в корне валяется.

@noreset
Лучше сделайте ваш файл в виде дополнения к какому-нибудь компоненту. Например content или users.
Тогда можно будет обращаться к базе так:
$this->model->db->getRows('con_specialist', '1', 'title');

@noreset,
Вы лучше расскажите, что Вы хотите сделать-то?
Может это уже сделано кем-нибудь, а Вы велосипед изобретаете.
#9 18 ноября 2017 в 14:03


Лучше сделайте ваш файл в виде дополнения к какому-нибудь компоненту. Например content или users.
Тогда можно будет обращаться к базе так:
$this->model->db->getRows('con_specialist', '1', 'title');

Ris

Это просто создать файл в system/controllers/content? С произвольным именем?
А потом выводить эту инфу в админке из БД. Мне нужно будет, как в документации написано, зарегистрировать компонент в базе, потом создать папку в controllers, там папка backend c таким же файлом и уже там также делать запросы в бд?
#10 18 ноября 2017 в 14:06



@noreset,
Вы лучше расскажите, что Вы хотите сделать-то?
Может это уже сделано кем-нибудь, а Вы велосипед изобретаете.

Ris

Запись на прием к врачу. Есть форма, которая отправляет запрос на почту. А теперь вот нужно, сделать время приема. Учитывать какое время занято, какое нет. Вот создал таблицу в бд. Пользователь введет 15:00, и будет запрос в БД, свободно ли это время. И это все должен еще админ через админку релактировать или удалять если что
#11 18 ноября 2017 в 14:09
instantcms.ru/blogs/moi-razrabotki/onlain-zapis-na-priem.html

А если хотите сами это сделать, так уж сделайте отдельный компонент, пусть небольшой, а не через жо… не через отдельный файл php в корне сайта.
Вот генератор скелета компонента:
instantcms.ru/addons/comgen.html
#12 18 ноября 2017 в 14:19


instantcms.ru/blogs/moi-razrabotki/onlain-zapis-na-priem.html

Ris

Спасибо. Но тут для меня еще больше работы будет). Клиент не хотел менять дизайн всего, что у него уже есть. А тут всего то у меня задача стоит добавить в БД и вывести. Час работы). Просто я эту цмс в глаза не видал, поэтому немного засиделся.

Ответьте пожалуйста на предпоследнее сообщение. Так ли я понял
#13 18 ноября 2017 в 14:24

Ответьте пожалуйста на предпоследнее сообщение. Так ли я понял

@noreset
Сделайте компонентик, в котором будет и запись в базу и проверка занятости времени.
И шаблон можете свой там применить.
#14 18 ноября 2017 в 14:34


Ответьте пожалуйста на предпоследнее сообщение. Так ли я понял

@noreset
Сделайте компонентик, в котором будет и запись в базу и проверка занятости времени.
И шаблон можете свой там применить.

Ris

Спасибо. Сейчас попробую)
#15 18 ноября 2017 в 16:14


Shuma,
Синтаксис нарушен вот тут:
WHERE (i.id IN ())
Между скобками должно что-то быть.
Исправить в файле /system/controllers/sc_followers/hooks/activity_after_add.php в строке 61
Но лучше спросить у разработчика этого самого sc_followers

Ris

У меня такая же ошибка при добавлении новости или события в instantmaps. Может быть версия базы данных какая то не такая?
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.