示例代码如下
#include <stdio.h>
#include <stdlib.h>
#include <mysql/mysql.h>
int main(int argc,char *argv[])
{
int num_fields,i;
MYSQL_RES *res;
MYSQL_ROW row;
MYSQL_FIELD *field;
/*创建数据连接对象*/
MYSQL *con = mysql_init(NULL);
if(con == NULL)
{
fprintf(stderr, "%s\n", mysql_error(con));
exit(EXIT_FAILURE);
}
if(!mysql_real_connect(con, "localhost", "root", "haodangqiankun", NULL, 0, NULL,0))
{
fprintf(stderr, "%s\n", mysql_error(con));
mysql_close(con);
exit(EXIT_FAILURE);
}
if(mysql_query(con, "show databases;"))
{
fprintf(stderr, "%s\n", mysql_error(con));
mysql_close(con);
exit(EXIT_FAILURE);
}
res=mysql_store_result(con);
num_fields= mysql_num_fields(res);
field=mysql_fetch_fields(res);
while (row = mysql_fetch_row(res)) //获取整条数据内容
{
for(i=0;i<num_fields;++i)
{
printf("[%s]=>[%s]\n",field[i].name,row[i]);
}
}
mysql_free_result(res);
puts("mariadb is connect and run succesed!");
mysql_close(con);
return 0;
}
完整编译连接命令如下
gcc testdb.c -o mdb.o -lmariadbclient -lpthread -lm -ldl -lssl -lcrypto -lz