mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-26 09:32:34 +00:00
FindCharacter converted to QueryDatabase
This commit is contained in:
parent
6b90f883cd
commit
de47755320
@ -199,46 +199,28 @@ bool Database::VerifyMailKey(std::string characterName, int IPAddress, std::stri
|
|||||||
return !strcmp(row[0], combinedKey);
|
return !strcmp(row[0], combinedKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
int Database::FindCharacter(const char *CharacterName) {
|
int Database::FindCharacter(const char *characterName) {
|
||||||
|
|
||||||
char errbuf[MYSQL_ERRMSG_SIZE];
|
char *safeCharName = RemoveApostrophes(characterName);
|
||||||
char* query = 0;
|
std::string query = StringFormat("SELECT `id` FROM `character_` WHERE `name`='%s' LIMIT 1", safeCharName);
|
||||||
MYSQL_RES *result;
|
auto results = QueryDatabase(query);
|
||||||
MYSQL_ROW row;
|
if (!results.Success()) {
|
||||||
|
_log(UCS__ERROR, "FindCharacter failed. %s %s", query.c_str(), results.ErrorMessage().c_str());
|
||||||
char *SafeCharName = RemoveApostrophes(CharacterName);
|
safe_delete(safeCharName);
|
||||||
|
return -1;
|
||||||
if (!RunQuery(query,MakeAnyLenString(&query, "select `id` from `character_` where `name`='%s' limit 1",
|
}
|
||||||
SafeCharName),errbuf,&result)){
|
safe_delete(safeCharName);
|
||||||
|
|
||||||
_log(UCS__ERROR, "FindCharacter failed. %s %s", query, errbuf);
|
|
||||||
|
|
||||||
safe_delete_array(query);
|
|
||||||
safe_delete_array(SafeCharName);
|
|
||||||
|
|
||||||
|
if (results.RowCount() != 1) {
|
||||||
|
_log(UCS__ERROR, "Bad result from FindCharacter query for character %s", characterName);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
safe_delete_array(query);
|
auto row = results.begin();
|
||||||
safe_delete_array(SafeCharName);
|
|
||||||
|
|
||||||
if (mysql_num_rows(result) != 1) {
|
int characterID = atoi(row[0]);
|
||||||
|
|
||||||
_log(UCS__ERROR, "Bad result from FindCharacter query for character %s", CharacterName);
|
|
||||||
|
|
||||||
mysql_free_result(result);
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
row = mysql_fetch_row(result);
|
|
||||||
|
|
||||||
int CharacterID = atoi(row[0]);
|
|
||||||
|
|
||||||
mysql_free_result(result);
|
|
||||||
|
|
||||||
return CharacterID;
|
|
||||||
|
|
||||||
|
return characterID;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Database::GetVariable(const char* varname, char* varvalue, uint16 varvalue_len) {
|
bool Database::GetVariable(const char* varname, char* varvalue, uint16 varvalue_len) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user