`
chriszeng87
  • 浏览: 713848 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ubuntu下用C语言访问MySQL数据库

 
阅读更多

转自  http://www.oschina.net/question/12_7956

 

先安装MySQL 
代 码: 
sudo apt-get install mysql-server mysql-client

再装开发包 
代码: 
sudo apt-get install libmysqlclient15-dev

可以用以下代码测试一下

 

/* Simple C program that connects to MySQL Database server*/
#include <mysql.h>
#include <stdio.h>

main() {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;

   char *server = "localhost";
   char *user = "root";
   char *password = ""; /* 此处改成你的密码 */
   char *database = "mysql";

    conn = mysql_init(NULL);

   /* Connect to database */
   if (!mysql_real_connect(conn, server,
          user, password, database, 0, NULL, 0)) {
      fprintf(stderr, "%s\n", mysql_error(conn));
      exit(1);
   }

   /* send SQL query */
   if (mysql_query(conn, "show tables")) {
      fprintf(stderr, "%s\n", mysql_error(conn));
      exit(1);
   }

    res = mysql_use_result(conn);

   /* output table name */
   printf("MySQL Tables in mysql database:\n");
   while ((row = mysql_fetch_row(res)) != NULL)
      printf("%s \n", row[0]);

   /* close connection */
    mysql_free_result(res);
    mysql_close(conn);
} 
编译:

 


方法一:gcc test.c -o test -I/user/include/mysql                               试了一下,提示找不到mysql.h。

我试了一下,提示找不到mysql.h。
分析:
/user/include/mysql:全是.h文件,应该应编译阶段
/user /lib/mysql:是静态库和动态库,www.linuxidc.com应该与上面的.h文件对应,用于连接阶段。

方法二:gcc test.c -o test -L/user/lib/mysql -lmysqlclient                成功!

方法三:gcc test.c -o test $(mysql_config --cflags) $(mysql_config --libs)

或者:gcc test.c -o test $(mysql_config --cflags --libs)                        成功!

----------------------------------------------------------------------------------------------------------------------------------------------------------------

以上是转贴,这里说下我自己遇到的问题:

1. mysql.h 的文件路径是/usr /lib/mysql 而不是 /user /lib/mysql,

2. 声明为include <mysql/mysql.h>,编译时就不报错了。

分享到:
评论

相关推荐

    Ubuntu下C语言访问MySQL数据库入门_续

    Ubuntu下C语言访问MySQL数据库入门 https://blog.csdn.net/xiajun07061225/article/details/8505987

    Ubuntu下C语言访问MySQL数据库入门

    Ubuntu下C语言访问MySQL数据库入门 https://blog.csdn.net/xiajun07061225/article/details/8505987

    linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql

    在Ubuntu下安装MySQL方法很简单,使用如下命令: 代码如下:sudo apt-get install mysql-server 安装的过程中系统会提示设置root密码,此过程可以跳过,但是建议在安装时提示设置root密码的时候自行设置,免得后面...

    Linux平台基于Mysql数据库和网络通信的学生成绩管理系统

    基于Ubuntu14.04 环境开发,采用Mysql数据库,将数据库文件导入运行,程序分为服务端和客户端,服务端有两个功能,一个是监听客户端连接,第二个是管理员操作,可以对学生增删查改。客户端主要是学生可以通过网络...

    终端使用C语言以表格形式整齐的打印包含中文字符的字符串信息,类似于mysql数据库的查询显示功能

    ubuntu 14.04 64位下完成测试 刚学习C语言的小伙伴是否还在为终端上实现类似与mysql的表格式整齐打印出字符串信息而感到烦恼呢!因为中文字符串的存在,导致 老是无法实现格式上的对齐,今天小编,哦,不,是楼主,...

    LinuxC_MySQL_仓库物料管理.rar

    此份代码在Linux下利用C语言连接MySQL数据库,实现仓库管理的功能。在Linux(Ubuntu 18)下安装好MySQL(V5.7)数据库和GCC之后,直接Make即可以编译出可执行的代码了。

    C++分布式网络云盘项目,客户端+服务端,MySQL数据库

    * MySQL数据库、Redis数据库 * 分布式FastDFS集群搭建 * Nginx搭配FastCGI、Nginx搭配FastDFS * 通过C API操作FastDFS、FastCGI、Redis、MySQL * 以HTTP的接口接收客户端的数据 客户端包含技术有: * Qt实现客户端...

    linux 下 MySQL的C语言的基本操作

    本文完成一个基于 MySQL 的小型数据库设计,实现数据库的构建、数据的查询、插入、 与修改等功能

    Linux环境编程 实验3.doc

    MYSQL数据库与Linux程序开发 实验三:MYSQL数据库与Linux程序开发(综合性、4学时) 本项实验综合了MYSQL与Linux程序开发、多模块软件编译与链接过程等章节的知识点。根据实验指导书的要求和步骤,完成相应的程序...

    C++Mysql8.0数据库跨平台编程实战

    课程主要使用c++编程,所有演示代码都是跨平台,在windows平台中课程使用的开发环境为vs2017社区版,linux环境使用的是ubuntu 18.04下的g++和make。 课程通过思维导图+代码实操的讲解方式,实现的每一个功能都会对...

    基于php的在线判题系统的设计与开发

    ZHBIT ACM Online Judge System的开发环境是在Ubuntu Linux下架设Web服务器Apache,同时使用 MySQL作为数据库服务器,PHP作为服务器端脚本解释器,在此平台上综合运用PHP、C语言、html、数据库技术进行系统开发。...

    PHP网络数据包分析工具的设计与开发(源代码+毕设文档).zip

    本系统首先用libpcap捕获数据包,然后用C语言,并以TCP/IP协议为理论基础解析数据包,解析得到的信息存储到mysql数据库中。数据包信息分析模块从mysql数据库中读取数据,对信息进行统计分析,并对网络信息状况进行...

    PHP网络数据包分析工具的设计与开发(源代码+论文)

    本系统首先用libpcap捕获数据包,然后用C语言,并以TCP/IP协议为理论基础解析数据包,解析得到的信息存储到mysql数据库中。数据包信息分析模块从mysql数据库中读取数据,对信息进行统计分析,并对网络信息状况进行...

    网络数据包分析工具的设计与开发

    本系统首先用libpcap捕获数据包,然后用C语言,并以TCP/IP协议为理论基础解析数据包,解析得到的信息存储到mysql数据库中。数据包信息分析模块从mysql数据库中读取数据,对信息进行统计分析,并对网络信息状况进行...

    PHP网络数据包分析工具的设计与开发(源代码+论文).zip

    本系统首先用libpcap捕获数据包,然后用C语言,并以TCP/IP协议为理论基础解析数据包,解析得到的信息存储到mysql数据库中。数据包信息分析模块从mysql数据库中读取数据,对信息进行统计分析,并对网络信息状况进行...

    C基础 mariadb处理的简单实例

    这里直接用它来解决业务问题. 业务需求: 现在数据库中表示按照天分表的. 突然我们需要按照月来处理数据. 例如输入一个玩家id, 查找这个玩家这个月内看了一件事几次. 我们先搭建一个环境. 操作系统: Linux ...

    onlinejudge-core:在线法官核心

    OnlineJudgeCore ...判题端"judge": 开发平台linux(Ubuntu 15.04 64bit), python实现守护进程与MySQL数据库交互,C语言实现判题核心 守护程序"JudgeDaemon.py":Usage: ./JudgeDaemon.py start|stop|res

Global site tag (gtag.js) - Google Analytics