Skip to content

Ошибка при регистрации (SQL Driver Error): spam_service_log

При регистрации нового пользователя отображается страница SQL Database Error.

Согласно логам, ошибка заключается в том, что IP.Board добавляет запись в таблицу (spam_service_log) так:

mySQL query error: INSERT INTO ..._spam_service_log (`log_date`,`log_code`,`log_msg`,`email_address`,`ip_address`) VALUES(1478525386,'License Key Expired','','...','...')

В ответ mysql ругается:

Error: 1366 - Incorrect integer value: 'License Key Expired' for column 'log_code' at row 1

Ругается потому, что в таблице столбец (log_code) имеет тип smallint(1), а передаётся строка (License Key Expired). При этом все записи (включая и самые древние, когда этой ошибки ещё не возникало) в указанной таблице в этом столбце имеют значение 0.

 

Задача заключается в том, чтобы объяснить этот артефакт. Возможные варианты:

1. Некорректная логика работы форумного скрипта (вместо кода вставляет в запрос строковый идентификатор)

2. В таблице изначально поле (log_code) имело строковый тип, но после обновления mysql до последней версии и последующего апгрейда баз данных (mysql_upgrade, как это обычно рекомендуют делать после обновления mysql) тип поля был изменён на smallint(1), а все имеющиеся значения конвертированы в целое значение 0.

Featured Replies

Если все же у вас каким-то образом оказалась лицензия от IPS, и вы не обновились до последней версии но хотите использовать их спамсервис.

А эта правка актуальна для версии 3.4.9?

А эта правка актуальна для версии 3.4.9?

3.4.9 - последняя версия. Я написал для каких версий она актуально, читайте внимательно.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.