在LINUX上连接mysql,linux上连接mysql接口

当前位置:我的异常网» Linux/Unix » linux上连接mysql接口

linux上连接mysql接口

www.myexceptions.net  网友分享于:2013-09-21  浏览:54次

linux下连接mysql接口

1)需要什么头文件?

#include //mysql interface's include file

2)需要什么库函数

/usr/lib/mysql

3)怎么连接到一个已经存在的MySQL数据库?

可以用mysql_real_connect来连接数据库,用完后记得要用mysql_close断开这个连接.mysql_real_connect()试图建立到运行host的一个MySQL数据库引擎的一个连接 。

在调用mysql_real_connect()之前,你必须调用mysql_init()初始化MYSQL结构

4)连接到数据库后,怎样执行一条SQL语句?

用函数mysql_query,或者mysql_real_query。后者速度更快    string sql_cmd = "select * from mytable";

ret = mysql_real_query( &obj_sql, sql_cmd length(sql_cmd) );事实上,update/insert/alter等基本的SQL语句都是用这两个函数来执行的。

5)怎样获取执行结果?

5.1 获取查询结果    在使用了mysql_real_query进行了Select查询之后,可以用mysql_use_result或mysql_store_result来收集查询结果

Res=mysql_use_result(mysql)

用完后记得用mysql_free_result来释放内存

5.2显示字段名    用mysql_store_result或mysql_use_result收集了查询结果后,可用mysql_fetch_fields来收集所有字段

while((row=mysql_fetch_row(res))>0)

{

for(t=0;t

{

printf("%s ",row[t]);

}

printf("\n");

}

mysql_num_rows()

my_ulonglong mysql_num_rows(MYSQL_RES *result)

说明

在结果集合中返回行的数量。

mysql_num_rows()的使用取决于你是否使用mysql_store_result()或mysql_use_result()返回一个结果集合。如果你使用mysql_store_result(),mysql_num_rows()可以马上被调用。如果你使用mysql_use_result(),mysql_num_rows()将不会返回正确的值,直到在结果集合中的所有行均被检索了

mysql_num_fields()

unsigned int mysql_num_fields(MYSQL_RES *result)

说明

在结果集合中返回列的数量。

下面是具体的并行计算的一个例子

#include "mpi.h"//MPICH's include file

#include

#include //mysql interface's include file

#include

/*-----------------------------------------------------*/

/*List the table friend_info of database friend        */

/*----------------------------------------------------*/

void list()

{

MYSQL *mysql;

MYSQL_RES *res;

MYSQL_ROW row;

int t;

mysql= mysql_init((MYSQL*)0);

if(!mysql_real_connect(mysql,"localhost","root","","test",0,NULL,0))

{

printf("Error connecting to database: %s\n",mysql_error(mysql));

}

else printf("Connected...\n");

char list_sql[100]="select * from friend_info";

t=mysql_real_query(mysql,list_sql,(unsigned int)strlen(list_sql));

if (t)

{

printf("Error making query: %s\n",mysql_error(mysql));

}

else printf("list name...\n");

res=mysql_use_result(mysql);

while((row=mysql_fetch_row(res))>0)

{

for(t=0;t

{

printf("%s ",row[t]);

}

printf("\n");

}

mysql_free_result(res);

mysql_close(mysql);

}

文章评论

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值