Connection Error mysql_query

0
#include <mysql/mysql.h>
#include <iostream>

MYSQL connection;
void data_insert();

int main(){

    mysql_init(&connection);

    if(mysql_real_connect(&connection,"localhost","root","irineuvocênãosabenemeu","teste",0,NULL,0)){
        std::cout << "Conexão com o banco de dados realizada com sucesso\n";
        data_insert();
    }else{
        std::cout << "ERRO: " << mysql_errno(&connection);
        std::cout << "\nNão foi possível realizar uma conexão com o servidor\n";
    exit(1);
    }

    return 0;
}

void data_insert(){

    std::string CPF;
    std::string nome;
    unsigned res;

    std::cout << "Insira seu CPF: ";
    getline(std::cin,CPF);
    std::cout << "Insira seu nome: ";
    getline(std::cin,nome);

    res=mysql_query(&connection,"INSERT INTO user(CPF, name) values('"+CPF+"','"+nome+"');"); //O erro está nesta linha

    if(res==0){
        std::cout << "Dados inseridos com sucesso\n";
        mysql_close(&connection);
    }else{
        system("clear");
        std::cout << "Ouve um erro ao inserir os dados, por favor tente novamente\n\n";
        main();
    }
}

How do I reverse the error in the code above?

  

error: can not convert 'std :: __ cxx11 :: basic_string' to 'const   char * 'for argument' 2 'to' int mysql_query (MYSQL *, const char *) '|

    
asked by anonymous 08.09.2017 / 19:52

1 answer

0

You have inverted the order of the parameters.

res=mysql_query("INSERT INTO user(CPF, name) values('"+CPF+"','"+nome+"');", &connection);

According to the documentation , the resource comes as the second parameter .

    
08.09.2017 / 19:57