Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Крутилось всё под Linux на shared hosting, замечательно работало. Затем забэкапил базу и съехал. Через месяц развернул на своей машинке. Всё вроде нормально, только при регистрации нового пользователя выдаёт
File: register.php
Line: 218
FluxBB reported: Unable to create user
Database reported: 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 ' 0 , 'Russian', 'alice_white', 1258898222, '192.168.1.33', 1258898222, 1)' at line 1 (Errno: 1064)
Редактировался scalemaster (2009-11-22 17:03:08)
Offline
Вяло продолжаю колупаться с проблемой
Failed query: INSERT INTO users (username, group_id, password, email, email_setting, save_pass, timezone, language, style, registered, registration_ip, last_visit, malefemale) VALUES('88888', 4, '9eab102e8f9431bb23016851d11e658e0b20b730', '[email protected]',1, , 4 , 'Russian', 'subSilver', 1263809613, '192.168.1.33', 1263809613, 1)
Видно, что email_setting лишний. Отчего такое может быть?
В db столбец email_setting присутствует.
Вот код:
$db->query('INSERT INTO '.$db->prefix.'users (username, group_id, password, email, email_setting, save_pass, timezone, language, style, registered, registration_ip, last_visit, malefemale) VALUES(\''.$db->escape($username).'\', '.$intial_group_id.', \''.$password_hash.'\', \''.$email1.'\', '.$email_setting.', '.$save_pass.', '.$timezone.' , \''.$db->escape($language).'\', \''.$pun_config['o_default_style'].'\', '.$now.', \''.get_remote_address().'\', '.$now.', '.$malefemale.')') or error('Unable to create user', __FILE__, __LINE__, $db->error());
Редактировался scalemaster (2010-01-18 17:26:38)
Offline
Код не видно.
Судя по запросу ошибка save_pass, передается пустое значение.
Смотри где перед этим кодом присваивается $save_pass, либо добавь его проверку, типа:
if (!isset($save_pass))
$save_pass = 0;
Offline
Database reported: Unknown column 'save_pass' in 'field list' (Errno: 1054)
А больше нигде и нету упоминания в файле.
Редактировался scalemaster (2010-01-18 18:00:23)
Offline
Если такого столбца в таблице нет, то удали его имя из запроса , и это удаили - '.$save_pass.',
$db->query('INSERT INTO '.$db->prefix.'users (username, group_id, password, email, email_setting, timezone, language, style, registered, registration_ip, last_visit, malefemale) VALUES(\''.$db->escape($username).'\', '.$intial_group_id.', \''.$password_hash.'\', \''.$email1.'\', '.$email_setting.', '.$timezone.' , \''.$db->escape($language).'\', \''.$pun_config['o_default_style'].'\', '.$now.', \''.get_remote_address().'\', '.$now.', '.$malefemale.')') or error('Unable to create user', __FILE__, __LINE__, $db->error());
Только если у тебя save_pass используется где-то ( а иначе зачем оно в запросе? уши недоустановленых модов? ) то лучше тогда создать соответствующий столбец.
Offline
hcs, спасибо, всё получилось!
Создал столбец скриптом
mysql_query("ALTER TABLE users ADD save_pass TINYINT(1) NOT NULL DEFAULT 1 AFTER email_setting")
or die(mysql_error());
Говорит, переменную давай. Пришлось твой обнулятор приписывать.
Кстати, save_pass есть в инсталлере 1.2. А в ветке 1.4 есть db_update.php, который я, видимо, забыл запустить. Отсюда и проблемы. Только что докумекал
Offline
действительно. раньше галочка "сохранить пароль" ставилась в профиле пользователя. дурацкое было решение
свежий db_update из Fluxbb 1.4 RC1 вродебы умеет правильно апгрейдить с версий 1.2 и 1.3. (в 1.3 тоже есть свои "особенности" с шифрованием пароля)
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Offline
Опять эта же проблема! Совсем забыл про неё, нашёл в Гугле
В общем, если используете древние плагины от 1.2, выкусывайте save_pass к чертям.
Offline
Страницы 1