当前位置: 技术问答>linux和unix
c语言访问mysql
来源: 互联网 发布时间:2015-09-16
本文导语: 我的系统是linux mandrake8.2,现在用mysql建立了一个学生成绩数据库,字段有学号、姓名、成绩, 现在我想用c语言程序访问这个数据库,我现在既不会编这段c程序,也不知道在linux下怎么编译、连接、运行,真诚的请...
我的系统是linux mandrake8.2,现在用mysql建立了一个学生成绩数据库,字段有学号、姓名、成绩,
现在我想用c语言程序访问这个数据库,我现在既不会编这段c程序,也不知道在linux下怎么编译、连接、运行,真诚的请高手指点迷津。
我想要一个应用的具体实例,让我真正的理解这个过程!!!
十分感谢!!!
现在我想用c语言程序访问这个数据库,我现在既不会编这段c程序,也不知道在linux下怎么编译、连接、运行,真诚的请高手指点迷津。
我想要一个应用的具体实例,让我真正的理解这个过程!!!
十分感谢!!!
|
gcc编译的时候要加参数-I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lnsl
要安装mysqlclient包和mysql-devel包
c程序样例
MYSQL mysql;
MYSQL_RES *myres;
MYSQL_ROW myrow;
mysql_real_connect(&mysql,"localhost","root",NULL,"库名",0,NULL,0);
mysql_query(&mysql,"select a,b from c where 条件");
myres=mysql_store_result(&mysql);
myrow=mysql_fetch_row(myres);
mysql_free_result(myres);
这时myrow[0]中是a的内容,myrow[1]中是b的内容,如果返回多条可以这样用
mysql_query(&mysql,"select 语句");
myres1=mysql_store_result(&mysql);
while((myrow=mysql_fetch_row(myres))!=NULL) {
一条一条处理
};
mysql_free_result(myres);
update等不需要返回的语句就更容易了,直接
mysql_query(&mysql,"update ......")即可
要安装mysqlclient包和mysql-devel包
c程序样例
MYSQL mysql;
MYSQL_RES *myres;
MYSQL_ROW myrow;
mysql_real_connect(&mysql,"localhost","root",NULL,"库名",0,NULL,0);
mysql_query(&mysql,"select a,b from c where 条件");
myres=mysql_store_result(&mysql);
myrow=mysql_fetch_row(myres);
mysql_free_result(myres);
这时myrow[0]中是a的内容,myrow[1]中是b的内容,如果返回多条可以这样用
mysql_query(&mysql,"select 语句");
myres1=mysql_store_result(&mysql);
while((myrow=mysql_fetch_row(myres))!=NULL) {
一条一条处理
};
mysql_free_result(myres);
update等不需要返回的语句就更容易了,直接
mysql_query(&mysql,"update ......")即可