用C++编写的mySQL查询

itc*_*lpl 2 c++ mysql

我的C++程序中有以下代码:

query_state = mysql_query(connection, "select * from cplpl");
Run Code Online (Sandbox Code Playgroud)

如果我想用C++程序中的变量替换表名cplpl,我该怎么做?

基本上,我已经创造了

string tblnm="cplpl";
Run Code Online (Sandbox Code Playgroud)

但是如果我跑了

query_state = mysql_query(connection, "select * from tblnm");
Run Code Online (Sandbox Code Playgroud)

它寻找表tblnm.我尝试过$ tblnm,就像你在Perl中可以做到的那样,但这也不起作用

有没有办法解决这个问题?谢谢!

编辑:如果我重写如下:

string tblnm="test";
string qrycd="select * from " +tblnm;
 query_state = mysql_query(connection, qrycd.c_str());
Run Code Online (Sandbox Code Playgroud)

但是,如果我想添加一个where子句,它可以工作

string qrycd1="where fname like '%Bob%';";
Run Code Online (Sandbox Code Playgroud)

并将代码重写为

string qrycd="select * from " +tblnm +qrycd1;
 query_state = mysql_query(connection, qrycd.c_str());
Run Code Online (Sandbox Code Playgroud)

我收到一个错误..

Eel*_*lke 8

这应该工作:

query_state = mysql_query(connection, ("select * from " + tblnm).c_str());
Run Code Online (Sandbox Code Playgroud)