c语言连接mysql——select的代码实现

//mysql_select
//gcc mysql_select.c -o test -I /usr/include/mysql -L /usr/lib -lmysqlclient

#include <stdio.h>
#include <string.h>
#include <mysql/mysql.h>

#define HOST "localhost"
#define USERNAME "SERVER"
#define PASSWORD "SERVER_PASSWORD"
#define DATABASE "remote_control"

int main()
{
//char *sql = "select * from devices";
char *sql = "select * from users";
int res;
int i, j;
int row, column;/*查询返回的行数和列数*/
MYSQL my_connection;
MYSQL_RES *res_ptr;/*指向查询结果的指针*/
MYSQL_FIELD *field;/*字段结构指针*/
MYSQL_ROW result_row;/*按行返回的查询信息*/

mysql_init(&my_connection);/*初始化mysql连接my_connection*/

if (!mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD, DATABASE, 3306, NULL, CLIENT_FOUND_ROWS))
{/*连接失败*/
printf("数据库连接失败: %s\n", mysql_error(&my_connection));
return 0;
}

mysql_query(&my_connection, "set names utf8");/*设置编码为utf8*/

res = mysql_real_query(&my_connection, sql, (unsigned int)strlen(sql));
if (res)
{/*执行失败*/
printf("sql語句执行失败: %s\n", mysql_error(&my_connection));
mysql_close(&my_connection);
return 0;
}

res_ptr = mysql_store_result(&my_connection);/*将查询的結果给res_ptr*/
if (!res_ptr)
{
printf("查询结果为空\n");
mysql_close(&my_connection);
return 0;
}

column = mysql_num_fields(res_ptr);/*取得結果的列数和*/
row = mysql_num_rows(res_ptr);/*取得結果的行数和*/
printf("查询到 %d 行\n", row);

for (i = 0; field = mysql_fetch_field(res_ptr); i++)/*输出結果的字段名*/
printf("%s ", field->name);
printf("\n");

for (i = 0; i < row; i++)/*按行输出結果*/
{
result_row = mysql_fetch_row(res_ptr);
for (j = 0; j < column; j++)
printf("%s ", result_row[j]);
printf("\n");
}

mysql_free_result(res_ptr);

mysql_close(&my_connection);

return 0;
}

时间: 2024-07-30 10:21:12

c语言连接mysql——select的代码实现的相关文章

c语言连接mysql——insert的代码实现

//mysql_insert//gcc mysql_insert.c -o test -I /usr/include/mysql -L /usr/lib -lmysqlclient #include <stdio.h>#include <mysql/mysql.h>#include <string.h> #define HOST "localhost"#define USERNAME "SERVER"#define PASSWOR

C语言连接MySQL数据库(课程设计总结)

刚结束课程设计,也预示着假期马上就要到来了.本次课程设计并不算难,无非就是让做一个XXX系统,实现用户的注册.登录.菜单管理.超级用户等等一些功能,到现在为止已经做过好几个了,所以基本流程都熟悉了!我觉的最值得总结的地方就是:C语言与数据库连接,这块内容!因为之前都是用文件实现的. ★平台 这次课程设计主要用到: ● VC ++ 6.0 ● mysql-5.0.18-win32 ● Navicat for MySQL(MySQL 图形化的工具) ★配置 在写代码之前首先要让编译器知道MySQL数

Ubuntu下C语言连接MySQL

最近写了哟个程序需要用C语言连接MySQL,是基于Ubuntu的,我就写了如下的代码(其中包括了UDP协议部分) 事实上我们就是通过系统自带的头文件通过SQL语句对数据库进行操作,这应该对熟悉数据库语言的人就非常简单了 附上可用的代码: #include <stdio.h> /* These are the usual header files */ #include <string.h> #include <unistd.h> /* for close() */ #i

C语言连接mysql数据库

操作系统:win7/64 编译软件:VS2010 数据库:5.7.11 从C语言连接mysql数据库包含两个步骤: 1 初始化连接句柄结构 2 实际创建连接 测试代码1: #include "stdafx.h" #include <WinSock2.h> /*socket通信,系统头文件*/ #include <windows.h> #include <stdio.h> #include "mysql.h" #pragma com

Python连接MySQL的实例代码

Python连接MySQL的实例代码 MySQLdb下载地址:http://sourceforge.net/projects/mysql-python/ 下载解压缩后放到%Python_HOME%/Lib/site-packages目录中,python会自动找到此包. MySQLdb基本上是MySQL C API的Python版,遵循Python Database API Specification v2.0. 其他: 1. 平台及版本 linux 内核2.6,gcc 3.4.4,glibc 2

Windows下用C语言连接Mysql注意问题

原文:Windows下用C语言连接Mysql注意问题 环境是:在VS6.0 安装Mysql后,我们需要相应的头文件以及lib文件,所以安装过程必须是完整安装.否则不会生成include文件夹哦~ 具体步骤如下: 1.完全安装mysql,这样才能生成include文件夹. 2.在Directories的标 签页中右边的"Show directories for" 下拉列表中选中"Includefiles", 然后在中间列表框中添加你本地安装MySQL的include目

R语言-连接MySQL数据库方法

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] R语言连接数据库常用的方法有2种: 1.使用R数据库接口 连接MySQL,使用RMySQL包,使用前RMySQL包要先安装. library(RMySQL) 连接方式有2种: (1)使用dbConnectconn <- dbConnect(MySQL(), dbname = "rmysql", username="rmysql", password="rmysql",

c语言连接MySQL

今天在网上查询了一些关于c语言连接MySQL的一些资料,现在做一下总结. 首先,自己的电脑要安装MySQL,具体的做法是打开终端("Ctrl + Alt + t"),然后输入命令"sudo apt-get install mysql",再连按2下Tab键,目的是查看自己当前的软件源中有关MySQL的信息. [email protected]:~$ sudo apt-get install mysql mysql-client mysql-mmm-monitor my

解决远程连接mysql错误1130代码的方法

今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到,错误代码是1130,ERROR 1130: Host192.168.2.159 is not allowed to connect to this MySQL server 猜想是无法给远程连接的用户权限问题.结果这样子操作mysql库,即可解决.在本机登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost&qu