mysql 指针_C++,指针,mysql

底下是自己写的一段小代码。假设有62条记录,在查询完毕后,还会输出几条乱码,感觉应该是指针方面的问题,但找了半天还是修改失败,望指教……多谢了……#include#include...

底下是自己写的一段小代码。假设有62条记录,在查询完毕后,还会输出几条乱码,感觉应该是指针方面的问题,但找了半天还是修改失败,望指教……多谢了……

#include

#include

#include "mysql.h"

#include

#pragma comment(lib,"libmysql.lib")

using std::cout;

using std::endl;

using std::string;

MYSQL mysql;

long long* getfield(char* sql)

{

MYSQL_ROW m_row;

MYSQL_RES *m_res;

long long* p = NULL;

unsigned long long num = 0;

unsigned long i = 0;

mysql_query(&mysql,sql)

m_res = mysql_store_result(&mysql);

num = mysql_num_rows(m_res);

p = new long long [num];

memset(p, '\0', sizeof(long long) * num);

while(m_row = mysql_fetch_row(m_res))

{

p[i++] = atoi(m_row[0]);

}

return p;

}

int prepare()

{

char host[32] = "localhost";

char user[32] = "root";

char passwd[32] = "";

char dbname[32] = "test";

char log[512];

//初始化数据库

if(mysql_init(&mysql) == NULL)

{

return 1;

}

else

{

printf("Init success.\n");

}

//连接数据库

if(mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) == NULL)

{

sprintf(log,"Fail to connect to database:%s.",mysql_error(&mysql));

return 1;

}

else

{

printf("Connect to database:%s.\n",dbname);

}

return 0;

}

void main()

{

prepare();

long long *p = NULL;

p = getfield("select id from user where id>1");

int i = 0;

while(p[i])

{cout << p[i++] << endl;}

delete []p;

p = NULL;

system("pause");

}

那个,呃……prepare()那个函数可以不用看,用来初始化数据库连接的,确认过没问题,主要是getfield(char* sql)那个函数有问题……希望多帮帮忙哈……多谢多谢……

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值