读书人

linux c程序往Mysql中插入一条数据。异

发布时间: 2013-12-05 22:27:44 作者: rapoo

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
参考你的系统平台

读书人网 >C语言

热点推荐