Добрый день.
Используют библиотеку mysql c++
Создал класс
class MySqlConnector {
public:
MySqlConnector(std::string host, std::string login,std::string pass,std::string dbName,int port);
bool connect();
bool execute(Package value, int count);
~MySqlConnector();
private:
std::string host_;
std::string login_;
std::string pass_;
std::string dbName_;
int port_ ;
MYSQL *connection_, mysql_;
};
Реализовал метода класса
MySqlConnector::MySqlConnector(std::string host, std::string login, std::string pass,std::string dbName, int port)
: host_(host),login_(login),pass_(pass),dbName_(dbName),port_(port)
{
mysql_init(&mysql_);
}
bool MySqlConnector::connect()
{
connection_ = mysql_real_connect(&mysql_,host_.c_str(),login_.c_str(),
pass_.c_str(),dbName_.c_str(),port_,NULL,0);
if (connection_ == 0) {
VLOG(1) << "Can not connect to MYSQL server error: "<<mysql_error(&mysql_);
return false;
}
return true;
}
bool MySqlConnector::execute(Package value,int count)
{
......
int query_state = mysql_query(connection_,query.c_str());
if (query_state !=0){
VLOG(7) << "Can not insert package to MYSQL error: " <<mysql_error(connection_);
return false;
}
else
return true;
}
MySqlConnector::~MySqlConnector()
{
mysql_close(connection_);
}
Как только дохожу до функции mysql_query. Приложение просто падает.
Если все функции mysql собрать в одной функции все работает нормально. Можете подсказать почему ?