2017-03-24 13 views
0

「字段列表中的未知列」錯誤我試圖做一個函數,要求用戶輸入新的用戶名和密碼,然後將其存儲在MySQL/MariaDB數據庫。我使用strcat_s()和strcpy_s()將字符串連接在一起,然後在C API中作爲MySQL/MariaDB查詢傳遞。但是,結果是「字段列表」錯誤中的Unkown列'foo'。我該如何解決這個錯誤?以下是我的代碼。當將自定義字符串傳遞到MariaDB/MySQL C連接器API函數

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

回答

0

字符串必須用引號,所以你必須報'富''酒吧'這樣的:

const char *NAME = "'foo'"; 
const char *PASSWORD = "'bar'";