Linux下C++访问MySQL
2016-01-17 16:54
507 查看
testmysql.cpp
#include
#include
#include
using namespace std;
int main()
{
MYSQL mysql;
MYSQL_RES *result = NULL;
MYSQL_FIELD *field = NULL;
//以下参数根据实际环境替换
char user[] = "XXXXX";
char password[] = "XXXX";
char server[] = "localhost";
char database[] = "mydb";
unsigned int port=3306;
mysql_init(&mysql);
if ( mysql_real_connect(&mysql, server, user, password,
database, port, NULL, 0) == NULL )
{
cout<< "connect to database failed!"<<endl;
cout<< "error info:
"<<mysql_error(&mysql)<<endl;
mysql_close(&mysql);
return -1;
}
cout<< "connect to database
successfully!"<<endl;
if ( mysql_set_character_set( &mysql, "utf8" ) )
cerr<< mysql_error(&mysql
)<<endl;
//数据库mydb中有STUDENT表,具体环境中需要替换
string sql = "select * from STUDENT";
mysql_query(&mysql, sql.c_str());
result = mysql_store_result(&mysql);
int rowcount = mysql_num_rows(result);
cout << rowcount << endl;
int fieldcount = mysql_num_fields(result);
cout << fieldcount << endl;
for(int i = 0; i < fieldcount; i++)
{
field = mysql_fetch_field_direct(result,i);
cout << field->name << "\t\t";
}
cout << endl;
MYSQL_ROW row = NULL;
row = mysql_fetch_row(result);
while(NULL != row)
{
for(int i=0; i
{
cout << row[i] << "\t\t";
}
cout << endl;
row = mysql_fetch_row(result);
}
mysql_close(&mysql);
return 0;
}
编译程序:
g++ testmysql.cpp
-o testmysql `mysql_config
--cflags --libs`
or
g++ testmysql.cpp -o testmysql -I/opt/mysql/include
-L/opt/mysql/lib -lmysqlclient
(/opt/mysql为mysql的安装目录,实际环境中需要替换)
#include
#include
#include
using namespace std;
int main()
{
MYSQL mysql;
MYSQL_RES *result = NULL;
MYSQL_FIELD *field = NULL;
//以下参数根据实际环境替换
char user[] = "XXXXX";
char password[] = "XXXX";
char server[] = "localhost";
char database[] = "mydb";
unsigned int port=3306;
mysql_init(&mysql);
if ( mysql_real_connect(&mysql, server, user, password,
database, port, NULL, 0) == NULL )
{
cout<< "connect to database failed!"<<endl;
cout<< "error info:
"<<mysql_error(&mysql)<<endl;
mysql_close(&mysql);
return -1;
}
cout<< "connect to database
successfully!"<<endl;
if ( mysql_set_character_set( &mysql, "utf8" ) )
cerr<< mysql_error(&mysql
)<<endl;
//数据库mydb中有STUDENT表,具体环境中需要替换
string sql = "select * from STUDENT";
mysql_query(&mysql, sql.c_str());
result = mysql_store_result(&mysql);
int rowcount = mysql_num_rows(result);
cout << rowcount << endl;
int fieldcount = mysql_num_fields(result);
cout << fieldcount << endl;
for(int i = 0; i < fieldcount; i++)
{
field = mysql_fetch_field_direct(result,i);
cout << field->name << "\t\t";
}
cout << endl;
MYSQL_ROW row = NULL;
row = mysql_fetch_row(result);
while(NULL != row)
{
for(int i=0; i
{
cout << row[i] << "\t\t";
}
cout << endl;
row = mysql_fetch_row(result);
}
mysql_close(&mysql);
return 0;
}
编译程序:
g++ testmysql.cpp
-o testmysql `mysql_config
--cflags --libs`
or
g++ testmysql.cpp -o testmysql -I/opt/mysql/include
-L/opt/mysql/lib -lmysqlclient
(/opt/mysql为mysql的安装目录,实际环境中需要替换)
相关文章推荐
- Linux下利用instantclient实现PHP…
- Linux内核入门(一)&nbsp;Hello&amp;nbs…
- 依法使用Linux,反对Linux国产化
- linux启动流程
- Linux防火墙(Iptables)的开启与关…
- linux下opengl
- x64&nbsp;linux&nbsp;下C语言、AT&amp;T格式…
- UNetbootin&nbsp;for&nbsp;Linux制…
- linux&nbsp;下如何打开core&nbsp;d…
- Linux下批量修改文件名
- 使用ssh远程登录linux
- linux习惯每天一个命令之ps
- linux 解压文件
- ssh免密码登录
- op07-SELinux op
- linux 文件夹操作
- centos添加路由
- linux 单引号,双引号,反引号的小总结。
- kali linux 笔记
- linux vi命令详解