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/ ...
随机推荐
- redhat7.3 dns服务器配置
1.基本配置 systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 nmcli conne ...
- 递归与N皇后问题
递归的基本概念 一个函数调用其自身,就是递归 递归的作用 1) 替代多重循环 2) 解决本来就是用递归形式定义的问题 3) 将问题分解为规模更小的子问题进行求解 一行只能有一个皇后,这个根据游戏规则中 ...
- STL训练 HDU - 1716 Ray又对数字的列产生了兴趣:
HDU - 1716 Ray又对数字的列产生了兴趣: 现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数. Input 每组数据占一行,代表四张卡片上的数字(0&l ...
- Codeforce 322E Ciel the Commander (点分治)
E. Ciel the Commander Now Fox Ciel becomes a commander of Tree Land. Tree Land, like its name said, ...
- 关于RMQ问题的四种解法
什么是RMQ问题: RMQ (Range Minimum/Maximum Query):对于长度为n的数组A,回答若干询问RMQ(A,i,j)(i,j<=n-1),返回数组A中下标在i, ...
- 自定义Element父子不关联的穿梭树
Element自身是有一个Transfer穿梭框组件的,这个组件是穿梭框结合checkbox复选框来实现的,功能比较单一,自己想实现这个功能也是很简单的,只是在项目开发中,项目排期紧,没有闲功夫来实现 ...
- Scrapy+selenium爬取简书全站
Scrapy+selenium爬取简书全站 环境 Ubuntu 18.04 Python 3.8 Scrapy 2.1 爬取内容 文字标题 作者 作者头像 发布日期 内容 文章连接 文章ID 思路 分 ...
- nginx反向代理做负载均衡以及使用redis实现session共享配置详解
1.为什么要用nginx做负载均衡? 首先我们要知道用单机tomcat做的网站,比较理想的状态下能够承受的并发访问在150到200, 按照并发访问量占总用户数的5%到10%技术,单点tomcat的用户 ...
- vue 如何实现 Input 输入框模糊查询方法
原理:原生js的indexOf() 方法,该方法将从头到尾地检索数组,看它是否含有对应的元素.开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时).如果找到一个 item, ...
- 关于jquery样式切换的一些想法
前一阵子写了一些代码,都是关于一个按钮点击切换状态的按钮,当时没有想周到就用addClass removeClass来控制这个控件的状态,后来想想觉得不妥. <html> <head ...