Segmentation fault 郁闷

xzhuang xzhuang 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
以下程序是用mysql c api计算t_flow_data表项的记录数:
编译命令行如下:
gcc -I /usr/local/mysql/include/mysql -c connect_database.c
gcc -L /usr/local/mysql/lib/mysql/ -lmysqlclient -lm -o connect_database conne
ct_database.o

执行时,结果正确选择出来了,但是出现Segmentation fault:

Connect Succ
The result is 4999999
Segmentation fault

到底是怎么回事啊?

#include <stdlib.h>
#include <stdio.h>
#include "/usr/local/mysql/include/mysql/mysql.h"
#include "configuration.inc.h"
/*
* 函数介绍:该函数负责数据库的连接
* 输入参数:
* 输出参数:
* 返回值 :成功时返回连接标识,否则返回NULL
* 全局变量:
* 调用模块:
* 抛出异常:错误时输出错误信息
*/
int Connect_DataBase(MYSQL *db_connect)
{
mysql_init(db_connect);

if (!mysql_real_connect(db_connect , HOST , DBUSER , DBPASSWD , DBNAME , 0 ,
NULL ,0))
{
fprintf(stderr , "Failed to Connect DataBase , Error:%s\n" , mysql_error(db_
connect));
return 0;
}
else
return 1;
}

int main()
{
MYSQL *mysql;
MYSQL_RES *mysql_store;
MYSQL_ROW row;

if (Connect_DataBase(mysql))/* Connect DataBase*/
{
printf("Connect Succ\n");
}
else
exit(-1);

mysql_query(mysql , "select count(*) from t_flow_data");

mysql_store = mysql_store_result(mysql);

row = mysql_fetch_row(mysql_store);

printf("The result is %s\n" , row[0]);

mysql_free_result(mysql_store);
mysql_close(mysql);

return 1;
}
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
xzhuang
系统维护与使用区 19,615 成员 74,556 内容