【源码 测试】
#include <sys/time.h>
#include <stdio.h>
#include <mysql.h>
int main(void)
{
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL *connection, mysql;
int state;
mysql_init(&mysql);
connection = mysql_real_connect(&mysql,"localhost","root","951241","mysql",0,0,0);
if (connection == NULL)
{
printf(mysql_error(&mysql));
return 1;
}
state = mysql_query(connection, "SELECT Host, User, Password FROM user");
if (state !=0)
{
printf(mysql_error(connection));
return 1;
}
result = mysql_store_result(connection);
printf("Rows:%d\n",mysql_num_rows(result));
while ( ( row=mysql_fetch_row(result)) != NULL )
{
printf("%s, %s, %s\n", (row[0] ? row[0] : "NULL"), (row[1] ? row[1] : "NULL" ), (row[2] ? row[2] : "NULL"));
}
mysql_free_result(result);
mysql_close(connection);
return 0;
};
【mysql】
要装有Mysql 数据库 apt-get install mysqlclient mysqlserver libmysqlclient-dev
【编译】
sudo gcc $(mysql_config --cflags) main.c -o $(mysql_config --libs)
sudo g++ test.cpp -I/usr/include/mysql /usr/lib/mysql/libmysqlclient -----------------[这个没上面那个好用,有可能目录不对]
【部分错误分析1】
/home/qiang/client_soft/mysql/main.c||In function ‘main’:|
/home/qiang/client_soft/mysql/main.c|13|error: stray ‘\342’ in program|
/home/qiang/client_soft/mysql/main.c|13|error: stray ‘\200’ in program|
………………………………………………………………………………………………
finished: 10 errors, 5 warnings ===|
这个'342'是双引号为汉字,由于是从网上down的,符号问题。。。。常常出现
【部分错误分析2】
包含文件不会。只要安装好mysql和程序没有问题,运行上边编译的命令(如果是IDE要手动加载),就不有问题。
【运行效果】数据库 mysql.user 存在数据才有显示 可以更改 上面的代码