code2012

加油,坚持,努力,自信
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

安装mysql 获得 mysql.h 建立C接口

Posted on 2010-12-07 10:31  code2012  阅读(4735)  评论(0编辑  收藏  举报

安装mysql 获得 mysql.h 建立C接口 今天费了好长时间终于让C操作MYSQL成功了,在此把方法记下来,留着以后用。hoho~

先安装mysql 代码: sudo apt-get install mysql-server mysql-client

再装开发包 代码: sudo apt-get install libmysqlclient15-dev

安装完以后,C代码里添加头文件 代码: #include

编译方法: 代码: gcc $(mysql_config --cflags) xxx.c -o xxx $(mysql_config --libs)

可以用以下代码测试一下 代码:

 

代码
#include <stdlib.h>
#include
<stdio.h>

#include
"mysql.h"

int main(int argc, char *argv[]) {
MYSQL
*conn_ptr;

conn_ptr
= mysql_init(NULL);
if (!conn_ptr) {
fprintf(stderr,
"mysql_init failed\n");
return EXIT_FAILURE;
}

conn_ptr
= mysql_real_connect(conn_ptr, "localhost", "root", "2009",
"mydata", 0, NULL, 0);

if (conn_ptr) {
printf(
"Connection success\n");
}
else {
printf(
"Connection failed\n");
}

mysql_close(conn_ptr);

return EXIT_SUCCESS;
}

C++ 的代码!

代码
C++语言代码在Linux下操作MySQL数据库
文章关键字:
|Linux|C++|语言|代码|操作|MySQL|数据库|

代码:

#include

#include

#include
"/usr/local/include/mysql/mysql.h" //安装的mysql的头文件所在的位置

using namespace std;

string host="数据库地址";

string user="用户名";

string pwd="密码";

string dbname="数据库";

string sql="查询语句";

unsigned
int port=3309;#端口号

int status;

int main(){

  MYSQL
*mysql;

  mysql
=mysql_init(0);

  MYSQL_RES
*result;

  MYSQL_ROW row;

  
if(mysql_real_connect(mysql,host.c_str(),user.c_str(),pwd.c_str(),dbname.c_str(),port,NULL,CLIENT_FOUND_ROWS)==NULL){

    cout
<< "connect failure!" << endl;

    
return EXIT_FAILURE;

  }
else{

    cout
<< "connect success!" << endl;

  }

  mysql_set_character_set(mysql,
"gbk");

  status
=mysql_query(mysql,sql.c_str());

  
if(status !=0 ){

    cout
<< "query failure!" << endl;

  }

  cout
<< "the status is :" << status << endl;

  result
=mysql_store_result(mysql);

  
while(row=mysql_fetch_row(result)){

    cout
<< row[1] <<"|"<< row[2] << endl;

  }

  mysql_free_result(result);

  mysql_close(mysql);

}

编译:

g
++ -o test test.cpp -lmysqlclient -I/usr/local/include/mysql/ -L/usr/local/lib/mysql

后面的那些用来指定mysql安装的时候包含路径和库文件路径,具体与你机器上的mysql安装的路径有关。

 

 原文链接地址:http://forum.ubuntu.org.cn/viewtopic.php?f=44&p=1031013