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

Список разделов phpBBex 1.x (поддерживается) Поддержка 1.x

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

Сообщение #1 jack » 16.11.2014, 23:01

Второй раз уже вылезла, хотя появляется явно не всегда:
Спойлер
Вернуться на главную страницу
Общая ошибка
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
Автор темы
Откуда: Orel
Репутация: 4
С нами: 10 лет 4 месяца

Сообщение #2 Sumanai » 16.11.2014, 23:14

Какая версия базы данных? На главной странице админки "Сервер базы данных:", скопируйте сюда.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #3 jack » 21.01.2015, 12:39

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

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

Sumanai:Какая версия базы данных? На главной странице админки "Сервер базы данных:"
Сервер базы данных: MySQL 5.1.63-0+squeeze1
jack M
Автор темы
Откуда: Orel
Репутация: 4
С нами: 10 лет 4 месяца

Сообщение #4 Sumanai » 21.01.2015, 16:02

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

Строка точно выглядит так?
Что в файле config.php в строке с $dbms?
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #5 jack » 06.02.2015, 14:42

$dbms = 'mysql';
jack M
Автор темы
Откуда: Orel
Репутация: 4
С нами: 10 лет 4 месяца

Сообщение #6 Sumanai » 06.02.2015, 15:26

Попробуйте поставить
Код: Выделить всё
$dbms = 'mysqli';
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #7 jack » 09.02.2015, 12:29

Sumanai, Спасибо, действительно хорошая мысль! Поменял. Пока полёт нормальный вроде, но никого еще не удалял. Как придется, отпишусь, проявляется ли проблема.
jack M
Автор темы
Откуда: Orel
Репутация: 4
С нами: 10 лет 4 месяца

Сообщение #8 jack » 16.07.2015, 13:26

Поднимаю тему. Не помогло. Сегодня ошибка вновь вылезла, хотя $dbms = 'mysqli';
При этом, несколько раз ранее удалял пользователей без проблем.
jack M
Автор темы
Откуда: Orel
Репутация: 4
С нами: 10 лет 4 месяца

Сообщение #9 Sumanai » 16.07.2015, 14:19

Вспоминайте, сколько у удаляемых вами пользователей было репутации, сколько они сами оценивали. Без этого повторить, а следовательно, найти, ошибку, я не смогу.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #10 jack » 20.07.2015, 17:43

Sumanai:Вспоминайте, сколько у удаляемых вами пользователей было репутации, сколько они сами оценивали.
Гм...
Ну вот только что удалил очередного:
Зарегистрирован:
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
Автор темы
Откуда: Orel
Репутация: 4
С нами: 10 лет 4 месяца

Сообщение #11 Sumanai » 20.07.2015, 18:06

jack, Весьма странно. Бекап БД перез удалением этих пользователей можете предоставить? В личку конечно же.
Хотя у вас миллион сообщений, большая БД, мне даже некуда такую залить.
Просто такое ощущение, что у вас у некоторых сообщений не заполнено поле poster_id
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #12 Dr.Death » 20.07.2015, 18:35

добавить в запросе перед ним (int) и не париться :smoke:
Dr.Death M
Аватара
Репутация: 69
С нами: 9 лет 8 месяцев

Сообщение #13 Sumanai » 20.07.2015, 18:40

Смысл посылать в БД запросы на обновление несуществующего пользователя? Тогда уж проще обернуть запросы в if($rate_row['poster_id']).
Но и это не нужно. Лучше выяснить, откуда у jack пустые поля в таблице, если это конечно так.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #14 135 » 24.07.2015, 16:18

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

Код: Выделить всё
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
Гость


Вернуться в Поддержка 1.x