linux C/C++调用mysql

#include <iostream>
#include <mysql/mysql.h>
#include <stdio.h>

using namespace std;

int main()
{
	MYSQL conn ;
	int res ;
	MYSQL_ROW row;
    MYSQL_RES *result = NULL;
    MYSQL_FIELD *field;

	MYSQL * mysqlInit = mysql_init(&conn) ;		// 会产生  still reachable: 72,768 bytes in 3 blocks 这种内存泄漏,尚未解决

	MYSQL * mysql = mysql_real_connect(&conn, "localhost", "root", 
			"1234", "student", 3306, NULL, 0) ;

	printf("%p %p %p\n", mysql , &conn, mysqlInit) ;

	string sql = "INSERT INTO info (id,name,age) VALUES (1,\"222\",15)" ;
	//mysql_query(&conn, sql.data());

	sql = "select * from info" ;
	mysql_query(&conn, sql.data());

	result = mysql_store_result(&conn) ;
	if(mysql_num_rows(result)<=0){
		cout << "no result" << endl ;
	}

	int num = mysql_num_fields(result) ;
	cout << "field numbers = " << num << endl ;
	for (int i = 0; i < num; i++) {
		field = mysql_fetch_field_direct(result, i) ;
		cout << field->name << "\t\t" ;
	}
	cout << endl ;

	while((row = mysql_fetch_row( result))){
		cout << row[0] << "\t\t" << row[1] << "\t\t" << row[2] <<endl ;
	}

	mysql_free_result(result) ;
	mysql_close(&conn) ;
	mysql_library_end();		//解决 possible lost
	return 0;
}

编译: g++ mysql.cpp -lmysqlclient

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值