Linux下C语言连接MySQL

Linux下C语言连接MySQL

标签: linux语言mysqlcincludegcc
1060人阅读 评论(0) 收藏 举报
  1. #include <mysql/mysql.h>  
  2. #include <stdlib.h>  
  3. #include <stdio.h>  
  4. int main()  
  5. {  
  6.     MYSQL mysql;  
  7.     MYSQL_ROW row;  
  8.     MYSQL_RES *result;  
  9.     unsigned int num_fields;  
  10.     unsigned int i;  
  11.   
  12.     mysql_init(&mysql);     
  13.     if(!mysql_real_connect(&mysql, "localhost""root""root","test",0,NULL,0))  
  14.     {  
  15.         printf("Connection failed,%s\n",mysql_error(&mysql));  
  16.     }     
  17.     if(!mysql_query(&mysql,"SELECT * FROM test"))  
  18.     {  
  19.          result = mysql_store_result(&mysql);  
  20.          if(!result)  
  21.          {  
  22.             perror("result error.");  
  23.             exit(1);  
  24.          }  
  25.          num_fields = mysql_num_fields(result);  
  26.          while(row = mysql_fetch_row(result))  
  27.          {  
  28.             for(i=0; i<num_fields; i++)  
  29.             {  
  30.                 printf("%s\t",row[i]);  
  31.             }  
  32.             printf("\n");  
  33.          }  
  34.          mysql_free_result(result);  
  35.     }  
  36.     mysql_close(&mysql);  
  37. }  

编译:

gcc mysqlTest.c -lmysqlclient -o mysqlTest

或者

gcc mysqlTest.c -o mysqlTest `mysql_config --cflags --libs`

或者

gcc -o mysqlTest $(mysql_config --cflags) mysqlTest.c $(mysql_config --libs)

包含库文件可以通过mysql_config命令来实现:

1. --libs 选项 – 连接MySQL客户端函数库所需要的库和选项.
$ mysql_config --libs
输出:
-L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto
2. --cflags 选项 – 使用必要的include文件的选项等等.
$ mysql_config --cflags
输出:
-I/usr/include/mysql -g -pipe -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing
你需要将上面两个选项加入到对源文件的编译命令中. 所以,要编译上面的程序,要使用下面的命令:
$ gcc -o test_mysql $(mysql_config --cflags) mysql-c-api.c $(mysql_config --libs)
执行编译后的程序:
$ ./test_mysql


链接:

http://abitno.me/linux-c-connect-mysql.html

http://blog.csdn.net/zclmoon/article/details/6218431

http://www.cyberciti.biz/tips/linux-unix-connect-mysql-c-api-program.html

猜你喜欢

转载自blog.csdn.net/zxk082829/article/details/51660524