Гостям выдает SQL ошибку

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Simple
phpBB 2.0.0
Сообщения: 214
Стаж: 15 лет 5 месяцев
Откуда: Крым, Бахчисарай
Благодарил (а): 67 раз
Поблагодарили: 16 раз

Гостям выдает SQL ошибку

Сообщение Simple »

Описание проблемы: При просмотре лога ошибок видно, что довольно часто гостям выдает неизвестную SQL ошибку:
Произошла общая ошибка: Общая ошибка
» SQL ERROR [ mysql4 ]

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 'user_ip = 95.84.157.117' at line 1 [1064]
Произошла ошибка SQL при выборке на этой странице. Пожалуйста, сообщите администратору, если ошибка будет повторяться.
IP адреса гостей разные, из чего вывод что не одному гостю могло выдать такую ошибку, причем ошибка выдается не единожды гостю, а повторяется десятки раз за несколько минут (наверное, гости пытаются обновить страниуц или еще чего)
Произведенные изменения, после которых начались неполадки: К сожалению, точно сказать из-за чего сложно, но исходя из записей в логе, началось примерно с 2го сентября. (сейчас выясняю у второго админа, что он делал, т.к. я уже больше двух недель никаких правок в код не вносил)
Версия phpBB: 3.0.9
Используемые стили: prosilver, rock'n_roll (на основе просильвера)
Используемые моды:
1) Quick reply for phpBB3 - Быстрый ответ ;
2) Posts merging - Склеивание сообщений ;
3) First post on every page for phpBB3 - Первый пост на каждой странице ;
4) Karma MOD - Репутация пользователей ;
5) Private Message Moderation - Модератор Личных сообщений ;
6) Welcome PM on First Login - Приветственное ЛС ;
7) mChat - Мини-чат ;
8) Log connections - Лог подключений ;
9) Статические страницы.

Версия PHP: 5.2.14
Используемая СУБД и её версия: MySQL 4
Ссылка на конференцию: http://forum.espadaclan.ru
Есть ли у вас тестовый аккаунт: Нет.
Использовался ли поиск для решения проблемы: Да.
Если да, то какие запросы вы использовали: SQL ошибки

Прошу, подскажите, откуда могла взяться ошибка? Да, я вижу что там в ней написано, что ошибка в синтаксисе sql, но в это самом sql я совсем не разбираюсь, и пока буду его изучать, черт знает сколько потенциальных пользователей уйдет со страници форума, подумав что его не существует из-за этих непонятных ошибок :(
Последний раз редактировалось Simple 12.09.2011 16:11, всего редактировалось 1 раз.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Гостям выдает SQL ошибку

Сообщение Пчелкин »

Все просто..у гостей остались ссылки на места, которые потом закрыли от гостей..всего лишь...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Гостям выдает SQL ошибку

Сообщение Sheer »

Ошибка в синтаксисе запроса
Вероятнее всего в коде вместоuser_ip = '\'' . $user_ip. '\'' используется user_ip = ' . $user_ip. '
Что приводит, например, к такому ошибочному запросу

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

SELECT *  FROM phpbb_users WHERE user_ip = 127.0.0.1
вместо

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

SELECT *  FROM phpbb_users WHERE user_ip = '127.0.0.1'
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Simple
phpBB 2.0.0
Сообщения: 214
Стаж: 15 лет 5 месяцев
Откуда: Крым, Бахчисарай
Благодарил (а): 67 раз
Поблагодарили: 16 раз

Re: Гостям выдает SQL ошибку

Сообщение Simple »

Пчелкин
В правах доступа тоже уже очень давно ничего не изменялось.
Sheer
Где можно проверить вашу версию проблемы? :oops: Конкретнее, в каком файле или куда нажимать в phpmyadmin? :roll:
По поводу вашего поста на форуме
Sheer писал(а):
Произошла общая ошибка: Общая ошибка
» SQL ERROR [ mysql4 ]

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 'user_ip = 95.84.157.117' at line 1 [1064]
Не обнаруживается. На каких страницах вылетает?
У меня самого при просмотре конференции гостем никаких ошибок не выдает, я об этом узнал благодаря логам, а в них не указывается конкретная страница :|
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Гостям выдает SQL ошибку

Сообщение Пчелкин »

Simple писал(а):В правах доступа тоже уже очень давно ничего не изменялось.
Темы и сообщения не удаляются?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Гостям выдает SQL ошибку

Сообщение Sheer »

Simple писал(а): в каком файле
Скорее всего в includes/session.php
Вероятно накосячили при установке Log connections.
Simple писал(а):куда нажимать в phpmyadmin?
Никуда :D

Добавлено спустя 7 минут 2 секунды:
Отфильтруй айпишники, с которыми были ошибки, в ACP-->Лог подключения, может там что-то будет видно.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Simple
phpBB 2.0.0
Сообщения: 214
Стаж: 15 лет 5 месяцев
Откуда: Крым, Бахчисарай
Благодарил (а): 67 раз
Поблагодарили: 16 раз

Re: Гостям выдает SQL ошибку

Сообщение Simple »

Пчелкин писал(а):Темы и сообщения не удаляются?
Удаляются. Но там стандартное оповещение "Запрошенной темы не существует." И оно вроде работает как надо ))
Sheer писал(а):Скорее всего в includes/session.php
Открываю файл в нотпаде, ищу. Переменная user_ip встречается всего три раза:
Строка 1358

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

	function set_login_key($user_id = false, $key = false, $user_ip = false)
И строка 1363

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

$user_ip = ($user_ip === false) ? $this->ip : $user_ip;
Что-то похожиих кусков не нахожу :oops:
Sheer писал(а):Вероятно накосячили при установке Log connections или Welcome PM on First Login (последний предлагаю вообще снести - скусь).
Проверил по журналу установок (все изменения в файлах и установки модов решил фиксировать в специальной теме скрытого раздела, как раз для таких случаев) Лог подключений был установлен 4го Сентября, тоесть на два дня позже, а вот приветственное ЛС намного раньше - 18го Августа. И да, согласен с вами, довольно таки много кривостей и глюков с этим приветственным ЛС, но у меня на форуме стоят только необходимые моды, и этот соответственно в их числе. Так что приходится его терпеть :)

Добавлено спустя 2 минуты 29 секунд:
Sheer писал(а):Отфильтруй айпишники, с которыми были ошибки, в ACP-->Лог подключения, может там что-то будет видно.
И правда, сипасибо! А я и не знал как определить... Последний ip, укзанный в первом посте, принадлежит последнему зарегестрированному пользователю. Надо будет спросить у нее про эти ошибки.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Гостям выдает SQL ошибку

Сообщение Sheer »

Simple писал(а):Что-то похожиих кусков не нахожу
Ну можно и не найти, часто SQL-запросы в неявном виде, например так (memberlist.php)

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

                    $sql = '(SELECT DISTINCT poster_id
                        FROM ' . POSTS_TABLE . '
                        WHERE poster_ip ' . ((strpos($ips, '%') !== false) ? 'LIKE' : 'IN') . " ($ips)
                            AND forum_id IN (0, " . implode(', ', $ip_forums) . '))
                            UNION (SELECT user_id FROM ' .USERS_TABLE. ' WHERE user_ip ' . ((strpos($ips, '%') !== false) ? 'LIKE' : 'IN') . ' ('.$ips.'))
                            '; 
Вот WHERE user_ip ' . ((strpos($ips, '%') !== false) ? 'LIKE' : 'IN') . ' ('.$ips.'))
Что попадает в переменную $ips ? А фиг его знает.

Добавлено спустя 2 минуты 48 секунд:
Simple писал(а): Последний ip, укзанный в первом посте, принадлежит последнему зарегестрированному пользователю.
Ну вот, похоже подтверждается, первоначальное предположение, про Welcome PM on First Login, которое я было потом отмел.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Simple
phpBB 2.0.0
Сообщения: 214
Стаж: 15 лет 5 месяцев
Откуда: Крым, Бахчисарай
Благодарил (а): 67 раз
Поблагодарили: 16 раз

Re: Гостям выдает SQL ошибку

Сообщение Simple »

Sheer писал(а):Ну вот, похоже подтверждается, первоначальное предположение, про Welcome PM on First Login, которое я было потом отмел.
Это было последней каплей. Сношу мод... подскажите только, как удалить SQL запрос, сделанный при его установке? вообще этот запрос был сделан (судя по всему) еще администратором бесплатного сервиса, который устанавливал этот мод. Тогда я им не пользовался, а после переноса базы на платный хостинг и обновления версии phpBB при установке мода понял, что таблица уже есть, нужно только правки внести вобщем, как удалить? :oops:

Вернуться в «Поддержка phpBB 3.0.х»