Ошибка в SQL базе данных

Mr.Bad

Новичок
Ошибка в SQL базе данных

я не специалист в php поэтому заранее приношу свои извинения за глупость своих вопросов.

у меня установлен форум phpBB
недавно появилась ошибка переполнения таблицы сессий. в результате чего пользователи не могли попасть на форум.
ручная очистка таблицы сессий (phpbb_sessions) помогает буквально до тех пор пока таблица снова не переполнится.

я установил MOD добавляющий в админ-консоль функции по обслуживанию базы данных.
при проверке таблиц пользователей и групп на наличие ошибок я получаю ошибку:

************
действие: Удаление недопустимых ключей таблицы сессий

Ошибка: Couldn't get session key data!

SQL Error : 1146 Table 'wоrms.SESSIONS_KEYS_TABLE' doesn't exist

SELECT k.key_id FROM SESSIONS_KEYS_TABLE k LEFT JOIN phpbb_users u ON k.user_id = u.user_id WHERE u.user_id IS NULL OR k.user_id = -1 OR k.last_login > 1162895029

Line : 1236
File : /virt/homes/worms/htdocs/forum/admin/admin_db_maintenance.php
**************
wоrms - имя базы данных

таблица SESSIONS_KEYS в ней существует но непосредственно из phpMyAdmin она выглядит как: phpbb_sessions_keys


я пробовал переименовывать таблицу phpbb_sessions_keys в phpbb_sessions_keys_table но ошибка остается таже. пробовал создавать новую таблицу с именем phpbb_sessions_keys_table тоже тщетно.

помогите пожалуйста решить проблему. все что нужно уточнить допонительно я в меру своих знаний готов сообщить.
 

Mr.Bad

Новичок
а почему тогда
SQL Error : 1146 Table 'wоrms.SESSIONS_KEYS_TABLE' doesn't exist
?
 

kruglov

Новичок
Mr.Bad
потому что где-то написано типа "select * from ".SESSIONS_KEYS_TABLE
 

Mr.Bad

Новичок
Автор оригинала: Mr.Bad
а почему тогда
SQL Error : 1146 Table 'wоrms.SESSIONS_KEYS_TABLE' doesn't exist
?
ну да все верно вот в ошибке так и написано что оно хочет селект

а как устранить то ошибку? что нужно куда добавить?
 

phprus

Moderator
Команда форума
Mr.Bad
Приведи участок кода с запросом. похоже, что константа SESSIONS_KEYS_TABLE не вынесена из сттроки запроса и по этому не подставляется.
 

Mr.Bad

Новичок
строка 1236 выделена жирным

// Remove session key data without valid user
if ( $phpbb_version[0] == 0 && $phpbb_version[1] >= 18 )
{
echo("<p class=\"gen\"><b>" . $lang['Remove_invalid_session_keys'] . "</b></p>\n");
$sql = "SELECT k.key_id
FROM " . SESSIONS_KEYS_TABLE . " k
LEFT JOIN " . USERS_TABLE . " u ON k.user_id = u.user_id
WHERE u.user_id IS NULL
OR k.user_id = " . ANONYMOUS . "
OR k.last_login > " . time();
$result_array = array();
$result = $db->sql_query($sql);
if ( !$result )
{
throw_error("Couldn't get session key data!", __LINE__, __FILE__, $sql);

-~{}~ 08.11.06 01:10:

уууууф... благодаря одному грамотному человеку нашлась проблема....
в определении таблиц была пропущена строка

define('SESSIONS_KEYS_TABLE', $table_prefix.'sessions_keys');

спасибо всем кто отозвался! отличный форум!
 
Сверху