我想在 mysql 数据库上进行插入,具有值、一些字符串、字符...
这有效:
if (mysql_query(con, "INSERT INTO Cars VALUES(2,'Mercedes',57127)")) {
finish_with_error(con);
}
我怎样才能做这样的事情?
char str[]="Mercedes";
if (mysql_query(con, "INSERT INTO Cars VALUES(2,str,57127)")) {
finish_with_error(con);
}
在 C 语言中工作
最佳答案
您需要先连接两个“字符串”,然后再将它们传递到库中。
使用预处理器:
#define str "Mercedes"
...
if (mysql_query(con, "INSERT INTO Cars VALUES(2,"str",57127)")) {
finish_with_error(con);
}
或者在运行时执行:
char str[] = "Mercedes";
char query_template[] = "INSERT INTO Cars VALUES(2,%s,57127)"
char query[sizeof str + sizeof query_template - 3];
sprintf(query, query_template, str);
if (mysql_query(con, query, )) {
finish_with_error(con);
}
注意:如果str
的内容是外部提供的,后一种解决方案会引入安全问题。那么不要在生产代码中执行此操作。
关于mysql - 在 mysql 查询中插入字符串作为值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27607823/