1. MYSQL *mysql_init(MYSQL *mysql)
初始化一个类型为MYSQL的数据结构,为执行mysql_real_connect()做准备。参数mysql为指向该结构的指针,如果mysql为NULL,则新建并初始化一个MYSQL的数据结构。新建的结构将在mysql_close()中释放。
若成功,返回初始化的MYSQL数据结构的指针,否则返回NULL。
2. MYSQL *mysql_real_connect(MYSQL *mysql, const char *host,const char *user, const char *passwd, const char *db,unsigned int port, const char *unix_socket, unsigned int client_flag)
参数mysql是mysql_init()的返回值;
参数host是运行MySQL数据库引擎的机器的TCP/IP主机名,如为NULL则默认为“localhost”;
参数user和passwd是MySQL数据库的合法用户和口令;
参数db是连接的数据库名;
参数port,unix_socket和client_flag一般取默认值。
3. int mysql_query(MYSQL *mysql, const char *query)
执行query字符串中的SQL语句,query必须以0结尾。如果成功,返回0。
4. MYSQL_RES *mysql_store_result(MYSQL *mysql)
返回SELECT,SHOW,DESCRIBE, EXPLAIN等语句执行的结果。函数新建一个MYSQL_RES的数据结构,把结果存储在该结构中。如果查询没有匹配的结果,则返回空数据集。处理完结果集后,必须调用mysql_free_result()。
如果出错,返回NULL,否则返回MYSQL_RES结构的指针。
5. MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
取回结果集中的下一条记录,如果没有记录或出错,返回NULL。
一条记录中的字段数可以用mysql_num_fields(result)获得,各字段的值可以用row[0] 到 row[mysql_num_fields(result)-1]的数组来访问。
查询实例
int mysql_connect_init_ip()
{
strcpy(query,"select * from ip_list");
ip_list_init(&black_list);
ip_list_init(&white_list);
mysql_init(&mysql);
if(mysql_real_connect(&mysql,HOSTNAME,USERNAME,PASSWORD,DATABASE,MYSQL_PORT,NULL,0))
{
if(mysql_real_query(&mysql,query,strlen(query))==0)
{
result = mysql_store_result(&mysql);
while((row = mysql_fetch_row(result))!=NULL)
{
u_int32_t ip = inet_addr(row[2]);
int type=atoi(row[3]);
if(type)
{
ip_list_add(&white_list,ip);
}
else ip_list_add(&black_list,ip);
}
mysql_free_result(result);
}
else
{
fprintf(stderr,"last_flow_rows_m query_sel_id failed:%d %s\n",mysql_errno(&mysql),mysql_error(&mysql));
return 0;
}
}
mysql_close(&mysql);
return 1;
}
分享到:
相关推荐
首先,要使用C语言连接MySQL数据库,你需要安装MySQL的C API库,这是MySQL提供的一套用于在C或C++中操作数据库的接口。在Windows环境下,如果你使用的是Visual Studio(VS)或者Visual C++ 6.0(VC++),你可以通过...
在Windows平台上,使用C语言连接MySQL数据库是一项常见的任务,尤其对于系统级开发或者需要底层控制的应用来说。本文将深入探讨如何在Windows环境下搭建C语言连接MySQL数据库的开发环境,并进行测试。 首先,我们...
本项目“使用C语言连接MYSQL数据库源代码”旨在展示如何通过C语言实现对MySQL数据库的连接、查询、插入、更新和删除等操作。以下将详细介绍涉及的知识点: 1. **MySQL Connector/C**: 这是MySQL官方提供的C语言接口...
概括来说,本文档主要介绍了使用C语言连接Mysql数据库的详细步骤,从Mysql的安装到VC++中创建C程序,最后实现C语言连接Mysql数据库的过程。 一、Mysql安装 在开始连接Mysql数据库之前,需要先安装Mysql。安装Mysql...
Linux 下 C 语言连接 MySQL 数据库 Linux 操作系统下的 C 语言连接 MySQL 数据库是指在 Linux 平台上使用 C 语言编写程序来连接 MySQL 数据库,实现数据库的 CURD 操作(Create、Retrieve、Update、Delete)。本...
在Linux环境下,使用C语言连接MySQL数据库是一项常见的任务,尤其对于开发系统级应用程序或需要与数据库交互的应用来说。本文将详细介绍如何在C程序中实现这一功能,并提供一个基本的示例代码。 首先,确保你已经...
1、在MyEclipse中连接MySQL数据库:依次点击window–>show view–>other–>MyEclipse Database–>DB Browser 图一:找到数据库连接选项 2、选中DB Browser,右键单击,并选择New一个数据连接的菜单,新建一个MySQL...
根据提供的文档信息,本文将详细解析如何使用C语言与MySQL数据库进行交互操作,重点在于连接数据库及执行数据插入操作。 ### 一、环境配置与基本概念 #### 1.1 环境准备 在开始编写C语言程序之前,需要确保安装了...
C连接MySql5.1所需文件.rar 附带一个不错的例子: #include #include #include #include #include <mysql>/*注意要包含这个头文件*/ #pragma comment(lib,libmysql) /*定义了一些数据库连接需要的宏*/ #...
QT 连接 MySQL 数据库在 Linux 平台下的实现 在 Linux 平台下,使用 QT 连接 MySQL 数据库是一种常见的应用场景。本文将详细介绍如何使用 QT 连接 MySQL 数据库,并提供了相关的代码示例。 首先,需要安装 MySQL ...
在Ubuntu 10.04操作系统中,C语言连接MySQL数据库涉及多个步骤,包括安装必要的软件包、配置MySQL服务以及编写C程序进行连接。以下是详细的知识点解释: 1. **安装MySQL服务器和客户端**: 要在Ubuntu 10.04上安装...
1. **MySQL C++ Connector**: 连接MySQL数据库时,通常会使用MySQL官方提供的C++ Connector,这是一个用于C++应用程序的数据库驱动程序,它提供了与MySQL服务器通信的接口。通过该接口,C++程序能够执行SQL查询,...
下面是一段简单的示例代码,用于演示如何使用C语言连接MySQL数据库: ```c #include #include #include "mysql.h" int main() { MYSQL mysql; // 创建MYSQL结构体实例 mysql_init(&mysql); // 初始化MYSQL...
在Ubuntu 10.04操作系统中,C语言连接MySQL数据库是一个常见的需求,这涉及到一系列的配置和安装步骤。以下是一些关键知识点的详细说明: 1. **安装MySQL服务器**: - 安装`mysql-server-5.1`:在Ubuntu 10.04上,...
使用C和C++连接MySQL数据库并进行常用的数据库操作。实现了简单的学生(或职工)信息管理系统,源于大学时的数据库课程设计.zip 使用C和C++连接MySQL数据库并进行常用的数据库操作。实现了简单的学生(或职工)信息...