"unknown column in field list" 将自定义字符串传递到 MariaDB/MySQL C 连接器 API 函数时出错
"unknown column in field list" error when passing custom string into MariaDB/MySQL C connector API function
我正在尝试制作一个功能,要求用户输入新的用户名和密码,然后将其存储在 MySQL/MariaDB 数据库中。我使用 strcat_s() 和 strcpy_s() 将字符串连接在一起,然后在 C API 中作为 MySQL/MariaDB 查询传递。但是,结果是 Unkown column 'foo' in 'field list' 错误。我该如何解决这个错误?下面是我的代码。
void NEW_PLAYER(MYSQL *con)
{
const char *NAME = "foo";
const char *PASSWORD = "bar";
char ch = NULL;
unsigned int i = 0;
printf("%s\n", NAME);
printf("%s\n", PASSWORD);
char TEMP[150];
char str1[] = "INSERT INTO PLAYERS VALUES(";
strcpy_s(TEMP, str1);
strcat_s(TEMP, NAME);
strcat_s(TEMP, ", ");
strcat_s(TEMP, PASSWORD);
strcat_s(TEMP, " ,0, 0, 0, 0)");
printf("%s", TEMP);
// inserting null character at end
if (mysql_query(con, TEMP)) {
fprintf(stderr, "%s\n", mysql_error(con));
exit(-1);
}
}
Here are my results from this code
字符串必须是引号,所以你必须像这样引用 'foo' 和 'bar':
const char *NAME = "'foo'";
const char *PASSWORD = "'bar'";
我正在尝试制作一个功能,要求用户输入新的用户名和密码,然后将其存储在 MySQL/MariaDB 数据库中。我使用 strcat_s() 和 strcpy_s() 将字符串连接在一起,然后在 C API 中作为 MySQL/MariaDB 查询传递。但是,结果是 Unkown column 'foo' in 'field list' 错误。我该如何解决这个错误?下面是我的代码。
void NEW_PLAYER(MYSQL *con)
{
const char *NAME = "foo";
const char *PASSWORD = "bar";
char ch = NULL;
unsigned int i = 0;
printf("%s\n", NAME);
printf("%s\n", PASSWORD);
char TEMP[150];
char str1[] = "INSERT INTO PLAYERS VALUES(";
strcpy_s(TEMP, str1);
strcat_s(TEMP, NAME);
strcat_s(TEMP, ", ");
strcat_s(TEMP, PASSWORD);
strcat_s(TEMP, " ,0, 0, 0, 0)");
printf("%s", TEMP);
// inserting null character at end
if (mysql_query(con, TEMP)) {
fprintf(stderr, "%s\n", mysql_error(con));
exit(-1);
}
}
Here are my results from this code
字符串必须是引号,所以你必须像这样引用 'foo' 和 'bar':
const char *NAME = "'foo'";
const char *PASSWORD = "'bar'";