0
이것은 (add_tbl)라는 데이터베이스에 연결하는 C 프로그램입니다. 이제 내 쿼리에서 데이터베이스 이름을 언급해야합니다. 그것없이 어떻게 데이터베이스에 연결하고 결과를 저장할 것인가? 데이터베이스 이름 이군 누군가가 나를 인도 목소리로 듣기에는 좋은 사람 같던데 이해할 수 아니에요 지정하는 곳어떻게하면 C 프로그램을 MySQL에 연결할 수 있습니까?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <my_global.h>
#include <mysql.h>
typedef struct
{
char host[20];
char user[25];
char pass[50];
}DB_CONN_PARAMS;
int main()
{
MYSQL *db;
char query_str[150];
int num1, num2, q_status;
DB_CONN_PARAMS *params = calloc(1,sizeof(DB_CONN_PARAMS));
params->host = "127.0.0.1";
params->user = "root";
params->pass = "Password";
MYSQL * connect_db(DB_CONN_PARAMS *params);
db = connect_db(params);
free(params);
//get numbers
scanf("%d %d", num1, num2);
//insert num1, num2 and sum into query string
printf(query_str,"INSERT INTO add_tbl (num1, num2, sum) VALUES (%d,%d %d);",
num1,num2,(num1 + num2));
//run the query
q_status = mysql_query(db, query_str);
if (q_status)
{ //insert failed
fprintf(stderr, "Failed to execute \"%s\"\n%s\n", query_str, mysql_error(db));
mysql_close(db);
exit(EXIT_FAILURE);
}
printf("Insert successful:\nQuery used: \"%s\"\n", query_str);
mysql_close(db);
return EXIT_SUCCESS;
}
내 데이터베이스 테이블 이름은 'add_tbl' 입니다.
에 (편의상)을 변경할 수 있습니다, 나는 한 가지 문제를 발견 즉, 이것 :'(% d, % d % d)'는 다음과 같아야합니다 :'(% d, % d, % d)' – WhozCraig