Вставьте входные данные клиента в базу данных MySQL с помощью C - PullRequest
2 голосов
/ 02 июня 2011

Как мне написать программу на C, которая получает данные клиента для сервера MySQL? Я использую Fedora в качестве моей ОС.

Вот мой код:

#include<my_global.h>
#include<mysql.h>

main()
{
    char name[25];
    MYSQL *conn;
    conn=mysql_init(NULL);
    mysql_real_connect(conn,"localhost","root","","testdb",0,NULL,0);
    printf("Enter your name:");
    scanf("%s",name);
    mysql_query(conn,"CREATE TABLE Users(name VARCHAR(25))");

    mysql_query(conn,"INSERT INTO Users VALUES(name)");
    //mysql_query(conn,"INSERT INTO Users VALUES('Farhan')");
    //mysql_query(conn,"INSERT INTO Users VALUES('Dileep')");
    //mysql_query(conn,"INSERT INTO Users VALUES('RAJIV')");

    mysql_close(conn);
}

Я хочу, чтобы входные данные клиента были сохранены в базе данных MySQL, а не постоянные значения.

1 Ответ

1 голос
/ 02 июня 2011

Попробуйте ввести имя в свой запрос, примерно так:

int len = query_len + name_len + 1;
char * insert_query = (char *) malloc(len);
snprintf(insert_query, len, "INSERT INTO Users VALUES('%s')", name);

Однако вам нужно будет позаботиться о проверке длины буфера и особенно , избегая строки имени .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...