PHP 面向对象的数据库操作
一、面向对象
fetch_all() |
抓取所有的结果行并且以关联数据,数值索引数组,或者两者皆有的方式返回结果集。 |
fetch_array() |
以一个关联数组,数值索引数组,或者两者皆有的方式抓取一行结果。 |
fetch_object() |
以对象返回结果集的当前行。 |
fetch_row() |
以枚举数组方式返回一行结果 |
fetch_assoc() |
以一个关联数组方式抓取一行结果。 |
fetch_field_direct() |
以对象返回结果集中单字段的元数据。 |
fetch_field() |
以对象返回结果集中的列信息。 |
fetch_fields() |
以对象数组返回代表结果集中的列信息。 |
1. 链接数据库
$conn = @new mysqli("127.0.0.1","root","","mydb");
if($conn->connect_errno){ //返回链接错误号
// 返回链接错误信息
die("数据库链接失败:".$conn->connect_error);
}
2. 选择数据库
$conn->select_db("mydb") or die("选择数据库失败:".$conn->error);
3.设置字符集编码
$conn->set_charset("utf8") or die("设置字符集失败:".$conn->error);
4. 准备SQL语句
$sql = <<<sql
select * from tb1;
sql;
5. 执行SQL语句,返回结果集或者布尔类型true/false
$res = $conn->query($sql);
6. 返回结果集中的字段数
var_dump($res->field_count);
返回结果集中的总行数
var_dump($res->num_rows);
7. 返回关联数组和索引数组
var_dump($res->fetch_array());
返回索引数组
var_dump($res->fetch_row());
返回关联数组
var_dump($res->fetch_assoc());
返回一个对象
var_dump($res->fetch_object());
_all//参数MYSQL_ASSOC、MYSQLI_NUM、MYSQLI_BOTH规定产生数组类型
8. 将结果集指针移到指定位置
$res->data_seek(0);
9. 返回结果集中的一个字段,并将指针移到下一列
var_dump($res->fetch_field());
直接返回结果集中的所有字段
var_dump($res->fetch_fields());
10.释放结果集资源
$res->close();// $res->free();
关闭数据库连接
$conn->close();
一些其他函数
field_tell() |
返回字段指针的位置 |
data_seek() |
调整结果指针到结果集中的一个任意行 |
num_fields() |
返回结果集中的字段数(列数) |
field_seek() |
调整字段指针到特定的字段开始位置 |
free() |
释放与某个结果集相关的内存 |
fetch_lengths() |
返回结果集中当前行的列长度 |
num_rows() |
返回结果集中的行数 |
PHP 面向对象的数据库操作的更多相关文章
- PHP数据库操作:使用ORM
之前我发了一篇博文PHP数据库操作:从MySQL原生API到PDO,向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对象.PDO操作MySQL数据库的.本文介绍如 ...
- PHP数据库操作:从MySQL原生API到PDO
本文将举详细例子向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对象.PDO操作MySQL数据库的. 为了后面的测试,先建立数据库表test.包含表名user,s ...
- Python之路【第九篇】堡垒机基础&数据库操作
复习paramiko模块 Python的paramiko模块,是基于SSH用于连接远程服务器并执行相关操作. SSHClient #!/usr/bin/env python #-*- coding:u ...
- QF——iOS中的数据库操作:SQLite数据库,第三方封装库FMDB,CoreData
SQLite数据库: SQLite是轻量级的数据库,适合应用在移动设备和小型设备上,它的优点是轻量,可移植性强.但它的缺点是它的API是用C写的,不是面向对象的.整体来说,操作起来比较麻烦.所以,一般 ...
- 更符合面向对象的数据库操作方式-OrmLite
1. jar包下载 下载地址:http://ormlite.com/releases/,一般用core和android包即可. 如果使用的是android studio,也可以直接通过module s ...
- Python程序练习4--模拟员工信息数据库操作
1.功能简介 此程序模拟员工信息数据库操作,按照语法输入指令即能实现员工信息的增.删.改.查功能. 2.实现方法 架构: 本程序采用python语言编写,关键在于指令的解析和执行:其中指令解析主要 ...
- OrmLite-更符合面向对象的数据库操作方式
1. jar包下载 下载地址:http://ormlite.com/releases/,一般用core和android包即可. 如果使用的是android studio,也可以直接通过module s ...
- 03 flask数据库操作、flask-session、蓝图
ORM ORM 全拼Object-Relation Mapping,中文意为 对象-关系映射.主要实现模型对象到关系数据库数据的映射. 1.优点 : 只需要面向对象编程, 不需要面向数据库编写代码. ...
- iOS数据库操作之coredata详细操作步骤
CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/ ...
随机推荐
- JavaWeb开发规范
以下的建议将帮助你更有效地使用本文所描述的 Java 编程标准: ******************************************************* 当你写代码时就应该遵守 ...
- System.Linq.Dynamic字符串转委托
以前一直想着有没有一个方法能够把字符串直接转化成函数的,刚好有需求就找了下,还真有. 微软地址:https://docs.microsoft.com/en-us/previous-versions/b ...
- Spring Cloud学习 之 Spring Cloud Hystrix(使用详解)
文章目录 创建请求命令: 定义服务降级: 异常处理: 异常传播: 异常获取: 命令名称,分组以及线程池划分: 创建请求命令: Hystrix命令就是我们之前说的HystrixCommand,它用来 ...
- Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构
Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构 目录 Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构 0x00 摘要 0x01 Alink设计原则 0x02 A ...
- shell 条件结构之 if 语句使用总结
文章目录 #条件判断的格式 [ exp ] [[ exp ]] test exp 注意: exp 与 "["."]"括号之间必须要有空格,否则会报语法错误: [ ...
- OpenCV Error: Unspecified Error(The Function is not implemented)
Ubuntu 或者 Debian 系统显示窗口的时候遇到了这个问题 error: (-2:Unspecified error) The function is not implemented. Reb ...
- javascript实现checkbox提交submit请求
javascript实现checkbox提交submit请求 背景:使用django模板中for来形成多个checkbox,需要点击单个checkbox并查询数据触发submit请求到后台,djang ...
- springData表关系:一对多
一.编写实体类进行表关联 1.在一张表的关联属性上添加@OneToMany注解(关联属性用来记录多的一方的信息,是个集合,一般用set) 2.在另一个实体类的关联属性上添加@ManyToOne注解和 ...
- 【数据结构】平衡树splay和fhq—treap
1.BST二叉搜索树 顾名思义,它是一棵二叉树. 它满足一个性质:每一个节点的权值大于它的左儿子,小于它的右儿子. 当然不只上面那两种树的结构. 那么根据性质,可以得到该节点左子树里的所有值都比它小, ...
- 什么是virtual string tree?
Virtual stringtree(以后简称VST)是一个提供源码的免费的第三方插件,支持DELPHI和C++builder,可在http://www.soft-gems.net/下载到最新的版本. ...