linux msyql 简单使用

#include "mysql.h"
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
int main()
{
MYSQL*  sql_conn = NULL;
MYSQL_RES *res_ptr = NULL;
MYSQL_ROW sql_row;
sql_conn = mysql_init(NULL);
if( sql_conn == NULL)// 
{
cout <<"init conect fail" <<endl;
return 0;
}
if(mysql_real_connect(sql_conn,"192.168.1.223","root","123456","myLearnSql",MYSQL_PORT,NULL,0) == NULL)
{
cout << "connect database myLearnSql fail " << endl;
mysql_close(sql_conn);
return 0;
}
string strSqlQuery = "select f001v_0031,f002n_0031 from tb_0031";
int ret  = 0;
ret = mysql_query(sql_conn,strSqlQuery.c_str());
if(ret != 0)
{
cout << "query:" << strSqlQuery << "fail" << endl;
mysql_close(sql_conn);
return 0;
}
res_ptr = mysql_use_result(sql_conn);
if(res_ptr)
{
while ((sql_row = mysql_fetch_row(res_ptr))) 
{
printf("query: f002n_0031= %s, f001v_0031=%s\n", sql_row[0],sql_row[1]);
}
mysql_free_result(res_ptr);
}
mysql_close(sql_conn);
return 0;
}
编译:
g++ -g -o mysql_main -I/usr/include/mysql/ mysql_main.cpp -L/usr/lib/mysql/ -lz
出现如下错误:
mysql_main.cpp:1:19: error: mysql.h: No such file or directory
mysql_main.cpp: In function ‘int main(int, char**)’:
mysql_main.cpp:9: error: ‘MYSQL’ was not declared in this scope
mysql_main.cpp:9: error: expected ‘;’ before ‘sql_conn’
mysql_main.cpp:10: error: ‘sql_conn’ was not declared in this scope
mysql_main.cpp:10: error: ‘mysql_init’ was not declared in this scope
mysql_main.cpp:15: error: ‘sql_conn’ was not declared in this scope
[root@localhost thread_learn]# whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
[root@localhost thread_learn]# find / -name mysql.h
/usr/include/mysql/mysql.h
/home/yuj/install-hxlt/mysql-5.1.37/include/mysql.h
mysql.h 已经存在了,但是为什么还是找不到文件?
知道原因了,原来是把-I 写成了l,是大写的i 对 gcc编译器不熟悉的原因
完整命令如下:
g++ -g -o mysql_main -I/usr/include/mysql mysql_main.cpp -L/usr/lib/mysql -lmysqlclient -lz
需要连接 mysqlclient库

你可能感兴趣的:(sql,linux,mysql,null,query)