回调函数v2

This commit is contained in:
flykhan 2023-10-25 15:21:03 +08:00
parent 2da456316c
commit 73f135cbae
1 changed files with 39 additions and 13 deletions

View File

@ -2,6 +2,7 @@
#include <stdio.h> #include <stdio.h>
// #include "cJSON.h" // #include "cJSON.h"
#include "sqlite3.h" #include "sqlite3.h"
#include <stdlib.h>
// sqlite3的回调函数 // sqlite3的回调函数
// sqlite 每查到一条记录,就调用一次这个回调 // sqlite 每查到一条记录,就调用一次这个回调
@ -79,19 +80,44 @@ int main(int argc, char const *argv[])
return 1; return 1;
} }
// 构建 JSON 数据 else if (rc == SQLITE_OK)
{
cJSON *result_json = cJSON_CreateObject(); cJSON *result_json = cJSON_CreateObject();
cJSON_AddItemToObject(result_json, "result", cJSON_CreateString("success"));
cJSON_AddItemToObject(result_json, "username", // if ((row = mysql_fetch_row(res)))
cJSON_CreateString(username_from_frontend)); // {
cJSON_AddNumberToObject(result_json, "code", 0);
// cJSON_AddStringToObject(result_json, "nickname", "admin");
// }
// else
// // {
// cJSON_AddNumberToObject(result_json, "code", 1);
// cJSON_AddStringToObject(result_json, "msg", "用户名或密码错误");
// }
char *result_json_string = cJSON_Print(result_json);
// 输出 JSON 结果
printf("content-type: application/json;charset=utf-8\r\n");
printf("\r\n");
printf("%s\n", result_json_string);
free(result_json_string);
}
// // 构建 JSON 数据
// cJSON *result_json = cJSON_CreateObject();
// cJSON_AddItemToObject(result_json, "result", cJSON_CreateString("success"));
// cJSON_AddItemToObject(result_json, "username",
// cJSON_CreateString(username_from_frontend));
// 打印 JSON 数据 // 打印 JSON 数据
char *result_json_str = cJSON_Print(result_json); // char *result_json_str = cJSON_Print(result_json);
// printf("%s\n", result_json_str); // printf("%s\n", result_json_str);
// 释放资源 // 释放资源
cJSON_Delete(json_buf); cJSON_Delete(json_buf);
cJSON_Delete(result_json); // cJSON_Delete(result_json);
sqlite3_close(db); sqlite3_close(db);
return 0; return 0;
@ -102,11 +128,11 @@ int sql_search_callback(void *NotUsed,
char **argv, char **argv,
char **azColName) char **azColName)
{ {
int i; // int i;
for (i = 0; i < argc; i++) // for (i = 0; i < argc; i++)
{ // {
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL"); // printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
} // }
return 0; return SQLITE_OK;
} }