Ошибка при удалении пользователя с сообщениями

Board index phpBBex 1.x Поддержка

Description: У вас проблемы с phpBBex 1.x и вам необходима помощь? Спрашивайте здесь!
Forum rules: Одна тема — один вопрос или группа связанных вопросов. Обязательно формируйте внятный заголовок, максимально отражающий суть вопроса. Подробно описывайте проблему. Не забудьте указать версию phpBBex и какие моды установлены, по возможности добавьте скриншоты проблемы или ссылку на страницу с проблемой.
Moderator: Поддержка

Post #1by jack » 16.11.2014, 23:01

Второй раз уже вылезла, хотя появляется явно не всегда:
Spoiler
Вернуться на главную страницу
Общая ошибка
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 '' at line 1 [1064]

SQL

UPDATE phpbb3_users SET user_rating_positive = user_rating_positive - 1 WHERE user_id =

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysql.php
LINE: 193
CALL: dbal->sql_error()

FILE: [ROOT]/includes/functions_rating.php
LINE: 114
CALL: dbal_mysql->sql_query()

FILE: [ROOT]/includes/functions_rating.php
LINE: 184
CALL: remove_rate_row()

FILE: [ROOT]/includes/functions_user.php
LINE: 571
CALL: remove_rates_batch()

FILE: [ROOT]/includes/acp/acp_users.php
LINE: 198
CALL: user_delete()

FILE: [ROOT]/includes/functions_module.php
LINE: 510
CALL: acp_users->main()

FILE: [ROOT]/adm/index.php
LINE: 78
CALL: p_master->load_active()

Уведомите администратора форума или вебмастера: admin@f-dk.ru
Powered by phpBB® Forum Software © phpBB Group[quote][/quote]
jack M
Topic author, Новичок
Location: Orel
Reputation: 4
With us: 6 years

Post #2by Sumanai » 16.11.2014, 23:14

Какая версия базы данных? На главной странице админки "Сервер базы данных:", скопируйте сюда.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1667
With us: 6 years 9 months

Post #3by jack » 21.01.2015, 12:39

Прошу прощения, что пропал, думал, что подписался на ответы.

Сегодня ошибка в очередной раз вылезла.

Sumanai wrote:Какая версия базы данных? На главной странице админки "Сервер базы данных:"
Сервер базы данных: MySQL 5.1.63-0+squeeze1
jack M
Topic author, Новичок
Location: Orel
Reputation: 4
With us: 6 years

Post #4by Sumanai » 21.01.2015, 16:02

jack wrote:UPDATE phpbb3_users SET user_rating_positive = user_rating_positive - 1 WHERE user_id =

Строка точно выглядит так?
Что в файле config.php в строке с $dbms?
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1667
With us: 6 years 9 months

Post #5by jack » 06.02.2015, 14:42

$dbms = 'mysql';
jack M
Topic author, Новичок
Location: Orel
Reputation: 4
With us: 6 years

Post #6by Sumanai » 06.02.2015, 15:26

Попробуйте поставить
Code: Select all
$dbms = 'mysqli';
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1667
With us: 6 years 9 months

Post #7by jack » 09.02.2015, 12:29

Sumanai, Спасибо, действительно хорошая мысль! Поменял. Пока полёт нормальный вроде, но никого еще не удалял. Как придется, отпишусь, проявляется ли проблема.
jack M
Topic author, Новичок
Location: Orel
Reputation: 4
With us: 6 years

Post #8by jack » 16.07.2015, 13:26

Поднимаю тему. Не помогло. Сегодня ошибка вновь вылезла, хотя $dbms = 'mysqli';
При этом, несколько раз ранее удалял пользователей без проблем.
jack M
Topic author, Новичок
Location: Orel
Reputation: 4
With us: 6 years

Post #9by Sumanai » 16.07.2015, 14:19

Вспоминайте, сколько у удаляемых вами пользователей было репутации, сколько они сами оценивали. Без этого повторить, а следовательно, найти, ошибку, я не смогу.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1667
With us: 6 years 9 months

Post #10by jack » 20.07.2015, 17:43

Sumanai wrote:Вспоминайте, сколько у удаляемых вами пользователей было репутации, сколько они сами оценивали.
Гм...
Ну вот только что удалил очередного:
Зарегистрирован:
23.01.2006, 17:45
Последнее посещение:
Сегодня, 15:30
Репутация:
287 (+868/−581)
Лояльность:
-853 (+202/−1055)
Предупреждения:
2 [ Заметки о пользователе | Вынести предупреждение ]
Всего сообщений:
1608 | Найти сообщения пользователя
(0.15% всех сообщений / 0.46 сообщений в день)
Всего тем:
45 | Найти темы пользователя
(0.34% всех тем / 0.01 тем в день)
Ошибка появилась.

И клона этого же пользователя:
Зарегистрирован:
17.04.2015, 12:00
Последнее посещение:
Сегодня, 11:13
Репутация:
37 (+47/−10)
Лояльность:
-236 (+214/−450)
Предупреждения:
0 [ Заметки о пользователе | Вынести предупреждение ]
Всего сообщений:
90 | Найти сообщения пользователя
(0.01% всех сообщений / 0.96 сообщений в день)
Всего тем:
7 | Найти темы пользователя
(0.05% всех тем / 0.07 тем в день)
"Пользователь успешно удалён."
Т.е. без ошибок
:spy:
jack M
Topic author, Новичок
Location: Orel
Reputation: 4
With us: 6 years

Post #11by Sumanai » 20.07.2015, 18:06

jack, Весьма странно. Бекап БД перез удалением этих пользователей можете предоставить? В личку конечно же.
Хотя у вас миллион сообщений, большая БД, мне даже некуда такую залить.
Просто такое ощущение, что у вас у некоторых сообщений не заполнено поле poster_id
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1667
With us: 6 years 9 months

Post #12by Dr.Death » 20.07.2015, 18:35

добавить в запросе перед ним (int) и не париться :smoke:
Моды не пишу, программированию не обучаю. Ваше незнание и нежелание знать, ваши проблемы, а не повод меня оскорблять. Минусите на здоровье, вдруг поможет.
Dr.Death M
Гуру
Avatar
Reputation: 69
With us: 5 years 4 months

Post #13by Sumanai » 20.07.2015, 18:40

Смысл посылать в БД запросы на обновление несуществующего пользователя? Тогда уж проще обернуть запросы в if($rate_row['poster_id']).
Но и это не нужно. Лучше выяснить, откуда у jack пустые поля в таблице, если это конечно так.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1667
With us: 6 years 9 months

Post #14by 135 » 24.07.2015, 16:18

Sumanai wrote:Просто такое ощущение, что у вас у некоторых сообщений не заполнено поле poster_id

Code: Select all
mysql> select count(*) from phpbb3_posts where poster_id = null;
+----------+
| count(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)

mysql> select count(*) from phpbb3_posts where poster_id = 0;
+----------+
| count(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)

mysql> select count(*) from phpbb3_posts where poster_id = '';
+----------+
| count(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)
135
Гость


Return to Поддержка



Who is online (over the past 10 minutes)

Users browsing this forum: 1 guest