MySQL如何用C++通过函数把变量录入到数据库中

以下是关键代码

 /*
        for (int i = 1; i <= n; i++)
        {
            res = mysql_query(&myCont, "INSERT INTO `i` (`id`, `name`, `age`, `subject`, `score`) VALUES ('3', 'C', '12', '英语', '100')");//查询  

        }
        */   //模板
        for (int i = 1; i <= n; i++)
        {
            int id; /*char name[10]*/; int age; /*char subject[10]*/; int score; string name; string subject;

            cout << "intput id:"; cin >> id; cout << endl;
            cout << "input name:"; getline(cin, name);
            cout << "intput sge:"; cin >> age; cout << endl;
            cout << "input subject:"; getline(cin, subject);
            cout << "intput score:"; cin >> score; cout << endl;

            res = mysql_query(&myCont, "INSERT INTO `i` (`id`, `name`, `age`, `subject`, `score`)VALUES (id, 'name', age, 'subject', score)");
            //VALUES('3', 'C', '12', '英语', '100')");//查询  

        }

res = mysql_query(&myCont, "INSERT INTO i (id, name, age, subject, score)VALUES (id, 'name', age, 'subject', score)");
现在问题就是这句怎么改

用字符串拼接方式把变量组合sql语句字符串 然后执行

方法1:用string拼接

string str = "NSERT INTO i (id, name, age, subject, score)VALUES ('";
std::stringstream ss;
std::string str_id;
ss<<id;
ss>>str_id;
str = str + str_id; 

...........(照此拼接下去,楼主注意别少拼单引号就行了)
方法2:用sprintf格式化写入

char str[64] = "NSERT INTO i (id, name, age, subject, score)VALUES ('";
char buffer[128] = {0};
int id = 4;
sprintf(buffer, "%s%d',", str, id); 

照此写下去。。。。。别忘记拼逗号和单引号什么的