1

Тема: Ошибка в поиске

Здравствуйте, столкнулся с такой проблемой. Когда она началась не знаю, пару месяцев не заходил в phpmyadmin, а когда надо было зайти и найти строку, то я получил вот это:
http://i41.fastpic.ru/big/2012/0706/c2/3ce1d25a25842ad521aee7e2b813b5c2.png
Если вручную написать запрос, используя * вместо перечисления названия полей, то всё работает, работает также, если при настройке поиска не искать половину элементов, поэтому возникает подозрение, что запрос слишком длинный. Можно как-то вылечить это, или установить, чтобы он искал *, а не перечислял всё подряд? Рута нет, доступа к коду тоже. Зарание спасибо

2

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

RoACh сказал:

Можно как-то вылечить это, или установить, чтобы он искал *

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

3 (изменено: RoACh, 2012-07-06 11:25:43)

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

Такое ощущение, будто он обрезает строку запроса до определённой длины, потому что если удалить некоторые ячейки из поиска, то всё нормально, если удалить меньше, чем нужно, то он начинает глупить и прерывает на названии таблицы и снова пишет ошибку, хотя странно опять же, если он пишет ошибку про LIMIT, значит он доходит до него. Перечисляет поля он в любом случае почему-то, даже если выбраны все поля. У меня 179 полей в таблице, можно ли как-то поменять дефолт, чтобы он при поиске не все выводил, а только нужные мне? Просто каждый раз выбирать их (а они разбросаны по порядку, что первый нужный в начале, второй в середине, третий в конце) не очень удобно. В других браузерах так-же.

4 (изменено: RoACh, 2012-07-06 12:26:41)

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

Вроде нашёл проблему, он не подставляет в запрос имя поля для сортировки, т.е. запрос выглядит так:
SELECT ...
FROM `players`
WHERE `id` =1
ORDER BY
LIMIT 0 , 30
Опять же приходится вручную вставлять
+ как оказалось, он выбирает только первые 100 полей, дальше не идёт выборка

5

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

RoACh сказал:

У меня 179 полей в таблице, можно ли как-то поменять дефолт, чтобы он при поиске не все выводил, а только нужные мне?

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

6

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

Спасибо, что попытались)

7

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

Если у вас есть возможность, то попробуйте создать аналог структуры своей таблицы с большим количеством полей, но с одной строкой любых данных на тестовом сервере.
http://www.phpmyadmin.net/home_page/try.php (root с пустым паролем).
Если ошибка проявится, то можно будет заняться ее решением.

8

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

Сделал дамп структуры с 1 строкой данных. Находится в базе jf, таблица players. Ошибка так-же возникает при поиске.

9

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

RoACh сказал:

Ошибка так-же возникает при поиске.

Да, ошибку вижу. Постараюсь разобраться. Спасибо за помощь.

10

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

Вам спасибо за помощь.

11

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

Добавил в Баг-трак сообщение об ошибке и вашу тестовую таблицу. Сам решить не смог. На моем PHP 5.3.10 ошибка не проявляется, возможно причина в настройках PHP.
https://sourceforge.net/tracker/?func=d … tid=377408