Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Как добавить в профиль и таблицу новую строку?

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Максим

Как добавить в профиль и таблицу новую строку?

Сообщение Максим »

Хочу добавить в таблицу phpbb_users новую строку: user_rel.

Пишу (в том же "viewtopic.php" - только для удобства, чтоб поскорее сделать, а потом совсем убрать вставку):

Код: Выделить всё

$sql = "INSERT INTO phpbb_users (user_rel) VALUES ('')";

if ( !($result = $db->sql_query($sql)) )	message_die(GENERAL_MESSAGE, 'Could not insert field into phpbb_users');
и, при просмотре темы, мне это и сообщается: "Could not insert field..."

Что здесь не так?

Менял:

Код: Выделить всё

$sql = "INSERT INTO phpbb_users (user_rel) VALUES ('')";
на

Код: Выделить всё

$sql = "INSERT INTO phpbb_users SET user_rel=''";
- то же самое...
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Максим
Что за поле? Новое для профиля? И какого типа - строка текста или текстовое поле (как подпись)?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
ra
phpBB 2.0.2
Сообщения: 325
Зарегистрирован: 20 лет
Откуда: Беларусь

Сообщение ra »

Поле добавляеться с помощью команды ALTER TABLE

Добавлено спустя 4 минуты 13 секунд:

phpbb_users ADD user_rel TEXT NOT NULL;
Максим

Сообщение Максим »

Xpert писал(а):Что за поле? Новое для профиля?
Да, обязательно для заполнения при регистрации.
Xpert писал(а):И какого типа - строка текста или текстовое поле (как подпись)?
Нужно будет сделать - строгий выбор из выпадающего меню вариантов (не знаю как сказать по-Русски).
Пока не знаю как это организовать в PHP (HTML), но для БД это, похоже, без разницы: значение этого поля должно быть "строка текста", почему я и пытался инициализировать его пустой строкой.
Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 19 лет 9 месяцев
Откуда: Бердск

Сообщение crash »

Максим
только сначала надо добавить поле в базу, и сразу указать что по умолчанию оно пустое.
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Максим

Сообщение Максим »

R@ писал(а):Поле добавляеться с помощью команды ALTER TABLE
phpbb_users ADD user_rel TEXT NOT NULL;
Спасибо. Я перепробовал, кажется, все варианты, которые возможны (взял отсюда: http://www.mysql.ru/docs/man/ALTER_TABLE.html) - всё по-прежнему.

Т.е., писал и так (как Вы написали):

Код: Выделить всё

$sql = "ALTER TABLE phpbb_users ADD user_rel TEXT NOT NULL";
и так:

Код: Выделить всё

$sql = "ALTER TABLE phpbb_users ADD FULLTEXT user_rel NOT NULL";
и так:

Код: Выделить всё

$sql = "ALTER TABLE phpbb_users ADD FULLTEXT user_rel";
заканчивая в любом случае этим:

Код: Выделить всё

if ( !($result = $db->sql_query($sql)) )	message_die(GENERAL_MESSAGE, 'Could not insert field into phpbb_users');
- результат одинаковый: "Could not insert field ..." ((

Добавлено спустя 2 минуты 34 секунды:
crash писал(а):только сначала надо добавить поле в базу, и сразу указать что по умолчанию оно пустое.
Так это я и пытался делать сначала командой:

Код: Выделить всё

$sql = "INSERT INTO phpbb_users SET user_rel=''";
Вы это имели в виду?
Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 19 лет 9 месяцев
Откуда: Бердск

Сообщение crash »

Так это я и пытался делать сначала командой:
Код:
$sql = "INSERT INTO phpbb_users SET user_rel=''";

Вы это имели в виду?
это вы не поле добавляете а уже значение..
а вы при каждом просмотре viewtopic.php будете добавлять значение или чтотам хотите.. не проще через хпхмайадмин один раз выполнить команду как вам сказали выше.
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Максим

Сообщение Максим »

crash писал(а):это вы не поле добавляете а уже значение..
Понимаю... Но про неудачные попытки добавления поля я рассказал в предъидущем сообщении.
а вы при каждом просмотре viewtopic.php будете добавлять значение или чтотам хотите..
Понятно! Но я ведь хотел только один успешно добавить в базу что нужно, а потом этот фрагмент кода удалить насовсем!
не проще через хпхмайадмин один раз выполнить команду как вам сказали выше.
Через что, через что?..
Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 19 лет 9 месяцев
Откуда: Бердск

Сообщение crash »

Через что, через что?..
phpmyadmin
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Максим
Вот тут есть подобный мод - http://phpbbhacks.com/viewhack.php?id=193

Выбор делается просто:

Код: Выделить всё

<select name=xxx>
<option value='x1' selected>Пункт 1</option>
<option value='x2' selected>Пункт 2</option>
<option value='x3' selected>Пункт 3</option>
</select>
Переименовал тему
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Максим

Сообщение Максим »

crash писал(а):
Через что, через что?..
phpmyadmin
Удалённый доступ к БД? Я его, к сожалению, не знаю...
Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 19 лет 9 месяцев
Откуда: Бердск

Сообщение crash »

Максим никогда не поздно его выучить. тем более там все легко.
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Jovani
phpBB 2.0.5
Сообщения: 477
Зарегистрирован: 20 лет

Сообщение Jovani »

А зачем тебе FULLTEXT?
Может тебе хватит VARCHAR(255)?

Попробуй еще так, указав после какого поля вставить:
ALTER TABLE phpbb_users ADD user_rel VARCHAR(255) AFTER user_interests
Максим

Сообщение Максим »

crash писал(а):никогда не поздно его выучить. тем более там все легко.
Не вопрос. Я хотел сказать, что у меня нет (т.е. мне ещё не дали) удалённого доступа к моей базе - только через PHP-код.
Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 19 лет 9 месяцев
Откуда: Бердск

Сообщение crash »

Максим здрасьти... с форума доступ есть а с пхпмайдамина нету? не верю.
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса

Вернуться в «Поддержка phpBB 2.0.x»