Я проверил возврат GetCharacterRankINT()
и он возвращает правильное значение (1). Когда я проверил запрос с помощью rankNum 1, я получил правильный результат, но всякий раз, когда я пытаюсь использовать GetCharacterRankSTR()
происходит сбой со следующим аварийным дампом: http://fbe.am/rwl (Пароль: stackoverflow). Я попытался установить тип функции из строки в std :: string, но она все еще не работала. Таблица MySQL имеет 8 столбцы или около того поле имеет 8 записей. Поэтому ошибка не связана с количеством полей.
string Player::GetCharacterRankSTR()
{
QueryResult* res = CharacterDatabase.Query("SELECT * FROM ars_ranks WHERE rankNum = %u LIMIT 1;", GetCharacterRankINT());
if (!res)
{
return "Error";
}
else
{
Field* fld = res->Fetch();
return fld[3].GetString();
}
}
У меня вопрос: что я делаю неправильно в функции, чтобы она зависала?
После некоторых тестов я узнал, как это исправить … Мне просто нужно было перейти с string на const char *.
Других решений пока нет …