Я предлагаю строить запрос как отдельную строковую переменную, а не передавать беспорядок в аргументе:
static const char fixed_text[] = "SELECT `username` FROM `users` where `username` = '";
std::string query_text(fixed_text);
query_text += query[0];
query_text += "';";
mysql->query(query_text);
Этот метод позволяет вам проверить запрос перед его отправкой в MySql.
Я предлагаю вам изучить переменную query[0]
на наличие каких-либо странных символов, таких как \r
и \n
.В руководстве MySql есть раздел, в котором перечислены символы, которые необходимо экранировать.