如何使用Mysql ++将C ++变量传递给insert of c ++

时间:2010-09-21 04:15:05

标签: c++ mysql mysql++

我几天都在努力解决代码,任何人都可以提供帮助

std::string str=uri_req1.substr(found+1);
char query[2000];
sprintf(query,"Insert into publish VALUES('%s','NO')",str);

我收到以下警告,并且未在表格中插入值

warning: cannot pass objects of non-POD type ‘struct std::string’
through ‘...’; call will abort at runtime
warning: format ‘%s’ expects type ‘char*’, but
argument 3 has type ‘int’

我试过的其他事情是

string query;
query="Insert into publish values('";
query+=str;
query+="','NO')";
  mysql_query(&mysql,query);

但这也没有奏效 请帮助

2 个答案:

答案 0 :(得分:4)

我可能会使用stringstream来组合字符串:

std::ostringstream query;

query << "Insert into publish values('" << str << "', 'NO')";
mysql_query(&mysql, query.str().c_str());

答案 1 :(得分:0)

这肯定会奏效;)

string query;
query="Insert into publish values('";
query+=str; 
query+="','NO')"; 
mysql_query(&mysql,query.c_str());