diff options
| author | leak <leakzx@googlemail.com> | 2011-12-25 18:12:58 +0100 |
|---|---|---|
| committer | leak <leakzx@googlemail.com> | 2011-12-25 18:13:21 +0100 |
| commit | ef17c05dec23eed3a2dddc3697574155ad061079 (patch) | |
| tree | 566f9f3a6ab2565032f02dcf2a65a6001212dd43 /src/server/game/Accounts | |
| parent | 9b8d18e7cd09625ba5b24355a3ca88b83125fd11 (diff) | |
Core/DBLayer: Convert PExecute() queries to prepared statements No. 1
Diffstat (limited to 'src/server/game/Accounts')
| -rwxr-xr-x | src/server/game/Accounts/AccountMgr.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/server/game/Accounts/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp index 9ae80ca2919..6c3dd69c0da 100755 --- a/src/server/game/Accounts/AccountMgr.cpp +++ b/src/server/game/Accounts/AccountMgr.cpp @@ -112,11 +112,13 @@ AccountOpResult ChangeUsername(uint32 accountId, std::string newUsername, std::s normalizeString(newUsername); normalizeString(newPassword); - std::string safeNewUsername = newUsername; - LoginDatabase.EscapeString(safeNewUsername); + PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_UPDATE_USERNAME); - LoginDatabase.PExecute("UPDATE account SET v='0', s='0', username='%s', sha_pass_hash='%s' WHERE id='%d'", safeNewUsername.c_str(), - CalculateShaPassHash(newUsername, newPassword).c_str(), accountId); + stmt->setString(0, newUsername); + stmt->setString(1, CalculateShaPassHash(newUsername, newPassword)); + stmt->setUInt32(2, accountId); + + LoginDatabase.Execute(stmt); return AOR_OK; } @@ -134,9 +136,12 @@ AccountOpResult ChangePassword(uint32 accountId, std::string newPassword) normalizeString(username); normalizeString(newPassword); - // also reset s and v to force update at next realmd login - LoginDatabase.PExecute("UPDATE account SET v='0', s='0', sha_pass_hash='%s' WHERE id='%d'", - CalculateShaPassHash(username, newPassword).c_str(), accountId); + PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_UPDATE_PASSWORD); + + stmt->setString(0, CalculateShaPassHash(username, newPassword)); + stmt->setUInt32(1, accountId); + + LoginDatabase.Execute(stmt); return AOR_OK; } |
