TemKa_SD Posted August 9, 2018 Share Posted August 9, 2018 Здравствуйте. Интегрируют тут потихоньку пользователей форума с игровым сервером. В базе данных игрового сервера у таблицы с игроками поле id (в моем случае uid) нет автоинкримента, соответственно, обычными способами тут не обойдешься. Скажите, какие варианты есть? $pvpgn = new \IPS\sharedstats\Records\PvPGNConnection; $pvpgn->uid = {вычислить уникальный uid и записать сюда}; $pvpgn->acct_username = $values['sharedstats_pvpgn_account_add_name']; $pvpgn->username = mb_strtolower($values['sharedstats_pvpgn_account_add_name']); $pvpgn->acct_passhash1 = \IPS\Helpers\PVPGN\Hash::get_hash(\IPS\Request::i()->$values['sharedstats_pvpgn_account_add_password']); $pvpgn->acct_email = '2'; $pvpgn->acct_userid = '3'; Link to comment Share on other sites More sharing options...
newbie Posted August 9, 2018 Share Posted August 9, 2018 Как записать уникальный идентификатор без auto_incrementУ Вас uid имеет первичный ключ. Link to comment Share on other sites More sharing options...
TemKa_SD Posted August 9, 2018 Author Share Posted August 9, 2018 Как мне его передать правильно? Link to comment Share on other sites More sharing options...
newbie Posted August 9, 2018 Share Posted August 9, 2018 Если это данные с какого сервера, то там и нужно смотреть. Link to comment Share on other sites More sharing options...
TemKa_SD Posted August 9, 2018 Author Share Posted August 9, 2018 Нет, здесь должен быть просто порядковый id как у автоинкримента. Link to comment Share on other sites More sharing options...
newbie Posted August 9, 2018 Share Posted August 9, 2018 Если поле нигде не используется, то генерируйте значение.Как вариант использовать текущее время Link to comment Share on other sites More sharing options...
TemKa_SD Posted August 9, 2018 Author Share Posted August 9, 2018 Блин, вы вообще меня не поняли. Карочи сделал так:$pvpgn->uid = \IPS\Member::loggedIn()->member_id; Конфликтов не должно быть по идее, так как автоинкремента нет, да и потом можно будет сравнивать пользователей по ID. Link to comment Share on other sites More sharing options...
newbie Posted August 9, 2018 Share Posted August 9, 2018 Все я понял :) Судя по коду, это форма. И если юзер с ID 5 попытается отправить форму во второй раз, то получит ошибку, т.к. в таблице уже есть запись с uid 5. Link to comment Share on other sites More sharing options...
TemKa_SD Posted August 9, 2018 Author Share Posted August 9, 2018 (edited) Все я понял :) Судя по коду, это форма. И если юзер с ID 5 попытается отправить форму во второй раз, то получит ошибку, т.к. в таблице уже есть запись с uid 5. Ага, только так и должно быть, запрещено одному пользователю регистрировать больше 1 аккаунта ) Ну так совсем криво, да? $uid = $this->db->select('*', 'pvpgn_BNET', null, '`uid` DESC')->first(); $uid = intval($uid['uid']) + 1; Edited August 9, 2018 by TemKa_SD Link to comment Share on other sites More sharing options...
newbie Posted August 9, 2018 Share Posted August 9, 2018 Тогда используйте ID юзера, если собираетесь связать столбец с ним. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now