aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Accounts/AccountMgr.cpp
diff options
context:
space:
mode:
authorleak <leakzx@googlemail.com>2011-12-25 02:21:46 +0100
committerleak <leakzx@googlemail.com>2011-12-25 02:22:10 +0100
commit64a2a29506591f09eeaef86ecf839e49a07e69d3 (patch)
treeb077c53895b7fc985f764535c260a6c42e297891 /src/server/game/Accounts/AccountMgr.cpp
parent949093d36d43893843a150dfc52f03ff265b0dc7 (diff)
Core/DBLayer: Convert Execute() queries to prepared statements
Diffstat (limited to 'src/server/game/Accounts/AccountMgr.cpp')
-rwxr-xr-xsrc/server/game/Accounts/AccountMgr.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/server/game/Accounts/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp
index ebe9a9af36b..9ae80ca2919 100755
--- a/src/server/game/Accounts/AccountMgr.cpp
+++ b/src/server/game/Accounts/AccountMgr.cpp
@@ -37,8 +37,16 @@ AccountOpResult CreateAccount(std::string username, std::string password)
if (GetId(username))
return AOR_NAME_ALREDY_EXIST; // username does already exist
- LoginDatabase.PExecute("INSERT INTO account(username, sha_pass_hash, joindate) VALUES('%s', '%s', NOW())", username.c_str(), CalculateShaPassHash(username, password).c_str());
- LoginDatabase.Execute("INSERT INTO realmcharacters (realmid, acctid, numchars) SELECT realmlist.id, account.id, 0 FROM realmlist, account LEFT JOIN realmcharacters ON acctid=account.id WHERE acctid IS NULL");
+ PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_ADD_ACCOUNT);
+
+ stmt->setString(0, username);
+ stmt->setString(1, CalculateShaPassHash(username, password));
+
+ LoginDatabase.Execute(stmt);
+
+ stmt = LoginDatabase.GetPreparedStatement(LOGIN_ADD_REALM_CHARS);
+
+ LoginDatabase.Execute(stmt);
return AOR_OK; // everything's fine
}