linux c程序往Mysql中插入一条数据。错误百出啊/*往Mysql数据库中插入一条数据。好多未定义,还外带一个返回
linux c程序往Mysql中插入一条数据。错误百出啊
/*往Mysql数据库中插入一条数据。好多未定义,还外带一个返回值错误,我的智商受不了啊。求大神来看看*/ #include<mysql/mysql.h>//包含MySQL函数库 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { MYSQL *mysql;// 声明MySQL操作符 MYSQL_RES *res;// 声明结果集 MYSQL_ROW row;// 声明行操作符 char sqlcmd[200];// 保存插入语句 int t,r; mysql=mysql_init(NULL);// 初始化连接处理程序 if (!mysql_real_connect(mysql, "127.0.0.1", "root", "", "test", 0, NULL, 0)){// 建立数据库连接 fprintf(stderr, "无法连接数据库,错误原因:%s\n", mysql_error(mysql)); // 捕捉MySQL错误 } else { puts("数据库连接成功"); sprintf(sqlcmd, "%s", "insert into users(name,password) value(\'mr\',\'111\')"); t = mysql_real_query(mysql,sqlcmd,(unsigned int) strlen(sqlcmd));// 执行插入语句 if (t) printf("插入数据库失败:%s\n", mysql_error(mysql)); else { printf("插入成功!\n"); } } mysql_close(mysql);// 关闭数据库连接 return EXIT_SUCCESS; }贴下错误
在函数‘main’中:
14.2.c:(.text+0x21):对‘mysql_init’未定义的引用
14.2.c:(.text+0x63):对‘mysql_real_connect’未定义的引用
14.2.c:(.text+0x77):对‘mysql_error’未定义的引用
14.2.c:(.text+0x130):对‘mysql_real_query’未定义的引用
14.2.c:(.text+0x14e):对‘mysql_error’未定义的引用
14.2.c:(.text+0x17b):对‘mysql_close’未定义的引用
collect2: error: ld returned 1 exit status
c linux Mysql
[解决办法] 你是在什么平台上编译的,linux上么,编译的命令什么?
[解决办法] 你编译的时候连接库了吗?
[解决办法] 连接数据库了吗?
[解决办法] 引用: /*往Mysql数据库中插入一条数据。好多未定义,还外带一个返回值错误,我的智商受不了啊。求大神来看看*/ #include<mysql/mysql.h>//包含MySQL函数库 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { MYSQL *mysql;// 声明MySQL操作符 MYSQL_RES *res;// 声明结果集 MYSQL_ROW row;// 声明行操作符 char sqlcmd[200];// 保存插入语句 int t,r; mysql=mysql_init(NULL);// 初始化连接处理程序 if (!mysql_real_connect(mysql, "127.0.0.1", "root", "", "test", 0, NULL, 0)){// 建立数据库连接 fprintf(stderr, "无法连接数据库,错误原因:%s\n", mysql_error(mysql)); // 捕捉MySQL错误 } else { puts("数据库连接成功"); sprintf(sqlcmd, "%s", "insert into users(name,password) value(\'mr\',\'111\')"); t = mysql_real_query(mysql,sqlcmd,(unsigned int) strlen(sqlcmd));// 执行插入语句 if (t) printf("插入数据库失败:%s\n", mysql_error(mysql)); else { printf("插入成功!\n"); } } mysql_close(mysql);// 关闭数据库连接 return EXIT_SUCCESS; } 贴下错误 在函数‘main’中: 14.2.c:(.text+0x21):对‘mysql_init’未定义的引用 14.2.c:(.text+0x63):对‘mysql_real_connect’未定义的引用 14.2.c:(.text+0x77):对‘mysql_error’未定义的引用 14.2.c:(.text+0x130):对‘mysql_real_query’未定义的引用 14.2.c:(.text+0x14e):对‘mysql_error’未定义的引用 14.2.c:(.text+0x17b):对‘mysql_close’未定义的引用 collect2: error: ld returned 1 exit status
在编译的时候要链接一下对应的动态链接库
[解决办法] gcc加这个:
-L/usr/lib64/mysql -lmysqlclient
参考你的系统平台