GroupCount converted to QueryDatabase

This commit is contained in:
Arthur Ice 2014-08-21 12:30:06 -07:00
parent fbefad9eaf
commit 0ece5bf178

View File

@ -1749,20 +1749,20 @@ void ZoneDatabase::RefreshGroupFromDB(Client *client){
} }
uint8 ZoneDatabase::GroupCount(uint32 groupid) { uint8 ZoneDatabase::GroupCount(uint32 groupid) {
char errbuf[MYSQL_ERRMSG_SIZE];
char *query = 0; std::string query = StringFormat("SELECT count(charid) FROM group_id WHERE groupid = %d", groupid);
MYSQL_RES *result; auto results = QueryDatabase(query);
MYSQL_ROW row; if (!results.Success()) {
uint8 count=0; LogFile->write(EQEMuLog::Error, "Error in ZoneDatabase::GroupCount query '%s': %s", query.c_str(), results.ErrorMessage().c_str());
if (RunQuery(query, MakeAnyLenString(&query, "SELECT count(charid) FROM group_id WHERE groupid=%d", groupid), errbuf, &result)) { return 0;
if((row = mysql_fetch_row(result))!=nullptr)
count = atoi(row[0]);
mysql_free_result(result);
} else {
LogFile->write(EQEMuLog::Error, "Error in ZoneDatabase::GroupCount query '%s': %s", query, errbuf);
} }
safe_delete_array(query);
return count; if (results.RowCount() == 0)
return 0;
auto row = results.begin();
return atoi(row[0]);
} }
uint8 ZoneDatabase::RaidGroupCount(uint32 raidid, uint32 groupid) uint8 ZoneDatabase::RaidGroupCount(uint32 raidid, uint32 groupid)