Страница 1 из 1

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

Добавлено: 18 май 2016, 12:01
myckolay
Одинаковые поисковые запросы у разных пользователей с одинаковыми правами администратора.
В одном случае Администратор (стартовый) получает результат поиска на странице
Второй Администратор (назначенный) получает следующую ошибку

Database Error: 1052 - Column 'id' in where clause is ambiguous
Query: select count(*) as total from app_entity_35 e left join app_fields_choices fc0 on fc0.id=e.field_280 where e.id>0 and ((e.field_282 like '%207%') or (e.field_460 like '%207%') or (e.field_440 like '%207%') or (e.field_957 like '%207%') or (e.field_870 like '%207%') or (e.field_1141 like '%207%') or id='207') order by fc0.sort_order desc, fc0.name desc
Page: /index.php?module=items/listing

Подскажите, можно ли исправить?

Re: Ошибка при поисковом запросе

Добавлено: 18 май 2016, 13:57
support
Для версии 1.7 уже исправлено

Чтобы исправить сейчас откройте файл
\modules\items\components\add_search_query.php
и строчку 58:

Код: Выделить всё

$sql_query[] = "id='" . db_input($search_keywords[0]) . "'";
замените на:

Код: Выделить всё

$sql_query[] = "e.id='" . db_input($search_keywords[0]) . "'";
сообщите результат.

Re: Ошибка при поисковом запросе

Добавлено: 18 май 2016, 14:55
myckolay
Спасибо, работает.
Поиск восстановлен, обнаружен другая проблема, напишу отдельную тему (было и до и после этого исправления)

Re: Ошибка при поисковом запросе

Добавлено: 15 сен 2022, 11:23
khokhlov.a
Доброго дня.

Не стал создавать новую тему, ошибка аналогичная.
Версия руководителя и модулей последняя

Код: Выделить всё

Database Error: 1052 - Column 'date_added' in field list is ambiguous
Query: select e.* , (((e.field_246-date_added)/86400)+1) as field_296, (((e.field_231-e.field_246)/86400)+1) as field_297 from app_entity_28 e left join app_entity_27 fc1 on fc1.id=e.parent_item_id left join app_fields_choices fc4 on fc4.id=e.field_298 left join app_fields_choices fc7 on fc7.id=e.field_226 left join app_fields_choices fc9 on fc9.id=e.field_518 left join app_fields_choices fc10 on fc10.id=e.field_517 left join app_fields_choices fc13 on fc13.id=e.field_232 where e.id>0 and (FROM_UNIXTIME(e.date_added,'%Y-%m-%d %H:%i:%s')>='2017-01-01 00:00' and FROM_UNIXTIME(e.date_added,'%Y-%m-%d %H:%i:%s')<='2020-10-31 23:55' and e.date_added>0) order by (select comments.date_added from app_comments comments where comments.items_id=e.id and comments.entities_id='28' order by comments.date_added desc limit 1) asc,fc1.field_220 asc,e.date_added asc,e.field_222 asc,fc4.sort_order asc, fc4.name asc,(e.field_246+0) asc,e.created_by asc,fc7.sort_order asc, fc7.name asc,(e.field_231+0) asc,fc9.sort_order asc, fc9.name asc,fc10.sort_order asc, fc10.name asc,(field_297) asc,(field_296) asc,fc13.sort_order asc, fc13.name asc,e.field_235 asc limit 0, 100
Page: /index.php?module=items/listing
#0 includes/functions/database.php(87): mysqli_query()
#1 modules/items/actions/listing.php(179): db_query()
#2 index.php(20): require('/var/www/html/p...')
#3 {main}

Re: Ошибка при поисковом запросе

Добавлено: 16 сен 2022, 08:18
support
У вас в формуле

Код: Выделить всё

((e.field_246 - date_added) / 86400)
Должно быть e.date_added

На будущее, создавайте новую тему соответственно версии программы.