Запись в бд (SQL)
|
|
dron216
|
Дата: Понедельник, 07.10.2013, 16:42:08 | Сообщение # 1 |
|
Сообщений: 151
Репутация: 18 [ +/- ]
|
|
Никак не могу заставить записать значение в бд Делаю так в конце раунда: Код new String:queryUPDATE[100]; Format(queryUPDATE, sizeof(queryUPDATE), "UPDATE Days SET DaysTEST = DaysTEST + 1 WHERE steamid = %s",SteamID[i]); SQL_FastQuery(g_SQL, queryUPDATE);
Что здесь не так? Саму бд создает, таблицу создает, стим ид в таблицу записывает, но не хочет прибавить 1 к значению...
|
|
| |
TEIN
|
Дата: Понедельник, 07.10.2013, 17:06:25 | Сообщение # 2 |
|
Сообщений: 563
Репутация: 78 [ +/- ]
|
|
Ну зачем же так. Ты лучше при коннекте игрока получи значение DaysTEST, затем храни в переменной. Далее при отключении игрока сохрани значение
|
|
| |
dron216
|
Дата: Понедельник, 07.10.2013, 17:24:19 | Сообщение # 3 |
|
Сообщений: 151
Репутация: 18 [ +/- ]
|
|
Я переделываю плагин "Days In Jail", добавляю сохранение дней в бд. А там же в начале каждого раунда он пишет например "Day 3 Попал в тюрьму за поджог". И каждый новый раунд количество дней растет на один...
Сообщение отредактировал dron216 - Понедельник, 07.10.2013, 17:25:32 |
|
| |
TEIN
|
Дата: Понедельник, 07.10.2013, 17:26:44 | Сообщение # 4 |
|
Сообщений: 563
Репутация: 78 [ +/- ]
|
|
Ну и что? это не повод каждый раз заносить данные в базу
Сообщение отредактировал TEIN - Понедельник, 07.10.2013, 17:28:22 |
|
| |
dron216
|
Дата: Понедельник, 07.10.2013, 20:32:24 | Сообщение # 5 |
|
Сообщений: 151
Репутация: 18 [ +/- ]
|
|
Сделал в итоге так: Код public OnClientDisconnect(client) { new String:queryUPDATE[256]; Format(queryUPDATE, sizeof(queryUPDATE), "UPDATE JailDays SET DaysInJail = DaysInJail + %d WHERE steamid = %s", g_Rounds[client], SteamID[client]); SQL_FastQuery(g_SQL, queryUPDATE); }
Добавлено (07.10.2013, 20:32:15) --------------------------------------------- Но все равно значение в бд не изменяется
Сообщение отредактировал dron216 - Понедельник, 07.10.2013, 20:32:33 |
|
| |
TEIN
|
Дата: Вторник, 08.10.2013, 10:20:38 | Сообщение # 6 |
|
Сообщений: 563
Репутация: 78 [ +/- ]
|
|
Я думаю так нельзя.. Лучше получи при коннекте hDays[data] = SQL_FetchInt(hndl, 0);
Затем каждый раунд hDays[client]++;
А при отключении игрока "UPDATE JailDays SET DaysInJail = %d WHERE steamid = %s", hDays[client], SteamID[client]
|
|
| |
dron216
|
Дата: Вторник, 08.10.2013, 19:07:04 | Сообщение # 7 |
|
Сообщений: 151
Репутация: 18 [ +/- ]
|
|
Вот так все заработало: Код public OnClientDisconnect(client) { new String:queryUPDATE[256]; Format(queryUPDATE, sizeof(queryUPDATE), "UPDATE JailDays SET `DaysInJail`= %d WHERE `steamid` = '%s'", g_Days[client], SteamID[client]); SQL_FastQuery(g_SQL, queryUPDATE); }
|
|
| |