欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json插入數據庫

阮建安1年前8瀏覽0評論

在程序員日常開發中,我們常常需要將JSON數據存儲到數據庫中,本文將會介紹如何使用C語言將JSON數據插入到數據庫中。

首先,在使用C實現JSON數據插入到數據庫前,我們需要安裝CJSON庫,該庫可以提供我們操作JSON的接口。

// JSON數據
const char *json_data = "{\\\"name\\\": \\\"Tom\\\", \\\"age\\\": 18}";
// 聲明JSON對象指針
cJSON *json_obj = cJSON_Parse(json_data);
if (!json_obj) {
printf("JSON解析失敗\n");
return 0;
}
// 獲取JSON中的屬性
char *name = cJSON_GetObjectItem(json_obj, "name")->valuestring;
int age = cJSON_GetObjectItem(json_obj, "age")->valueint;

以上是如何操作JSON數據,接下來就是如何將JSON數據插入到數據庫中,方法主要分為兩種:手寫SQL語句和用ORM框架。

下面我們先介紹手寫SQL語句的方法。假設我們有一個users表,該表有name和age兩列,接下來我們需要將JSON插入到該表中。

// 假設我們的數據庫連接變量為conn
char *sql = "INSERT INTO users (name, age) VALUES (?, ?)";
MYSQL_STMT *stmt = mysql_stmt_init(conn);
if (stmt == NULL) {
printf("stmt初始化失敗\n");
return 0;
}
// 預處理SQL語句
mysql_stmt_prepare(stmt, sql, strlen(sql));
MYSQL_BIND input_bind[2];
memset(input_bind, 0, sizeof(input_bind));
// 表示第一個參數采用字符串類型,第二個參數是字符串變量的地址,第三個參數是字符串變量的長度
input_bind[0].buffer_type = MYSQL_TYPE_STRING;
input_bind[0].buffer = name;
input_bind[0].buffer_length = strlen(name);
input_bind[0].is_null = 0;
// 表示第二個參數采用整型類型,第二個參數是整型變量的地址,第三個參數沒有用,可以設置為0
input_bind[1].buffer_type = MYSQL_TYPE_LONG;
input_bind[1].buffer = &age;
input_bind[1].is_null = 0;
input_bind[1].length = 0;
mysql_stmt_bind_param(stmt, input_bind);
if (mysql_stmt_execute(stmt)) {
printf("SQL執行失敗\n");
return 0;
}
printf("插入成功!\n");

以上就是手寫SQL語句方式將JSON數據插入到數據庫的代碼。