写一段C代码实现将姓名和图片存入mysql数据库,姓名和图片都是string类型数据库中姓名是varchar图片是mediumblob
时间: 2024-05-04 09:16:24 浏览: 148
很高兴为您解答。以下是可以实现将姓名和图片存入 MySQL 数据库的 C 代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql/mysql.h>
int main(){
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "username";
char *password = "password";
char *database = "database_name";
conn = mysql_init(NULL);
if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)){
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
char *name = "John Smith"; // 姓名
FILE *fp = fopen("image.jpg", "rb"); // 图片文件
fseek(fp, 0, SEEK_END);
long file_size = ftell(fp);
fseek(fp, 0, SEEK_SET);
char *image = malloc(sizeof(char)*file_size);
fread(image, sizeof(char), file_size, fp);
fclose(fp);
// 将姓名和图片插入数据库中
char *query = malloc(sizeof(char)*(strlen(name)+100));
sprintf(query, "INSERT INTO people (name, image) VALUES ('%s', '%s')", name, image);
mysql_query(conn, query);
free(query);
free(image);
mysql_close(conn);
return 0;
}
```
需要注意的是,在实际开发过程中,应该使用参数化查询来防止 SQL 注入攻击。此外,还应该自行实现错误处理机制,以保证程序的稳定性。希望这个代码示例能够帮到您。
阅读全文