mysql C API的使用
《MySQL++简介》介绍了如何使用C++来访问mysql,本文记录下使用C API访问mysql,mysql++就是对本文介绍的C-API的封装。
常用函数(名字就能告诉我们用法):
MYSQL * mysql_init(MYSQL *mysql)
int mysql_options(MYSQL *mysql,enum mysql_option option,
const char *arg)//设置一些如编码等属性
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 long clientflag) //建立连接
int mysql_query(MYSQL *mysql, const char *q) //执行sql语句,Zero for success. Nonzero if an error occurred.
my_ulonglong mysql_affected_rows(MYSQL *mysql) //更新语句影响的行数
MYSQL_RES * mysql_store_result(MYSQL *mysql) //与mysql_use_result效果等同,获取sql执行结果
MYSQL_RES * mysql_use_result(MYSQL *mysql)
my_ulonglong mysql_num_rows(MYSQL_RES *res) //获取行数
MYSQL_ROW mysql_fetch_row(MYSQL_RES *result) //逐一取行
void mysql_free_result(MYSQL_RES *result)
void mysql_close(MYSQL *sock)
使用实例:
#include <mysql.h>
int main() {
MYSQL* mysql = mysql_init(NULL);
mysql_options(mysql, MYSQL_SET_CHARSET_NAME, "gbk");
mysql_real_connect(mysql, "10.38.72.33", "test_user", "test_pwd", "test_db", 3306, NULL, 0); string sql("select name, age from student");
mysql_query(mysql, sql.c_str()); MYSQL_RES* res = mysql_store_result(mysql);
MYSQL_ROW row;
if (res == NULL) {
cout << "query failed" << endl;
return -1;
}
while ((row = mysql_fetch_row(res)) != NULL) {
cout << "name:" << row[0] << ",age:" << row[1] << endl;
}
mysql_free_result(res); mysql_close(mysql);
return 0;
}
mysql C API的使用的更多相关文章
- PHP数据库操作:从MySQL原生API到PDO
本文将举详细例子向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对象.PDO操作MySQL数据库的. 为了后面的测试,先建立数据库表test.包含表名user,s ...
- c++使用mysql的api连接相关问题
记录一下自己使用中的相关问题,方便有相同问题的同学解决. 关于在VS中的各种配置.看这里.只是须要注意一下,我如今用的mysql版本号是5.6的,已经没有[MySQL Server \lib\opt] ...
- mysql C API 字符串玩转备份调优
- The MySQL C API 编程实例
在网上找了一些MYSQL C API编程的文章,看了后认为还是写的不够充分,依据自己经验写了这篇<The MySQL C API 编程实例>,希望对须要调用到MYSQL的C的API的朋友有 ...
- MySQL C API概述
以下列表总结了C API中可用的功能.有关更多详细信息,请参见 第27.8.7节“C API函数描述”中的说明. my_init():在线程安全程序中初始化全局变量和线程处理程序 mysql_affe ...
- MySQL原生API、MySQLi面向过程、MySQLi面向对象、PDO操作MySQL
[转载]http://www.cnblogs.com/52fhy/p/5352304.html 本文将举详细例子向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对 ...
- MySql接口API函数综述
C API函数概述 函数 描述 mysql_affected_rows() 返回上次UPDATE.DELETE或INSERT查询更改/删除/插入的行数. mysql_autocommit() 切换 a ...
- MYSQL C API 记录
一.环境与条件 MySQL AB 提供了C API,能够提供低等级界面,负责完毕涉及SQLserver交互的大多数常规任务:数据库连接 .查询.结果集处理和错误处置.C API通过两个组件实现: 头文 ...
- MySQL C API(23)
C API 提供了对 MySQL c/s 模型的底层访问.C API 代码在 mysqlclient 库中实现.可以从该库中引用到的变量及含义: 环境变量 含义 MYSQL_UNIX_PORT 本地连 ...
随机推荐
- heap c++ 操作 大顶堆、小顶堆
在C++中,虽然堆不像 vector, set 之类的有已经实现的数据结构,但是在 algorithm.h 中实现了一些相关的模板函数.下面是一些示例应用 http://www.cplusplus.c ...
- new出对象的作用
new调用了构造函数以后 构造函数会返回一个对象的实例
- 为什么我坚持学习C语言?
c语言令无数人头疼,有意躲避! linux操作系统有c: glibc的c运行时库有c: mysql有c: php的底层有c: nosql层有c: 甚至其他的curl.nginx等等都有c: 每当问题追 ...
- javaweb中实现在线人数统计
session并不是浏览器关闭时销毁的,而是在session失效的时候销毁下列代码就是监测session创建.销毁 package com.my.count; import javax.servlet ...
- ulipad源码包配置环境及安装
一.准备下载的安装包: 1.python(我电脑配置的是2.7)下载地址http://pan.baidu.com/s/1qWrGZk4 2.wxpython(我这里是wxpy3.0,配套python2 ...
- 使用CSS设置行间距,字间距.
字间距1.text-indent设置抬头距离css缩进即对,对应div设置css样式text-indent : 20px; 缩进了20px 2.letter-spacing来设置字与字间距_字符间距离 ...
- UVaLive 7143 Room Assignment (组合数+DP)
题意:有 n 个客人,m个房间,每个房间可住ci个人,这 n 个人中有 t 对双胞胎,sum{ci} = n 问你有多少种住房方法. 析:计数DP,dp[i][j] 表示前 i 个房间,还剩下 j ...
- SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable
我的開發環境 框架: springmvc+spring+freemarker 開發工具: springsource-tool-suite-2.9.0 JDK版本: 1.6.0_29 to ...
- scrapy-1.2.1安装失败之解决方法
前几天重装了win10 64位系统,安装了python-3.5,但是用pip安装scrapy模块时出现如下错误: 看起来是lxml安装的时候出错了,于是先pip install lxml,出现了和上面 ...
- MVC4相关Razor语法浅谈
1._LayOut.cshtml 文件为mvc的布局文件,里面包函的是htm的静态文件,作为mvc其他view的基础母版使用,子视图要不想想调用它只需在页面设置@{Layout=null;}即可,现对 ...