php mysqli使用
连接到数据库
$mysqli = new mysqli(主机,用户,密码,数据库);
选择数据库
$mysqli->select_db(数据库);
设置编码
$mysqli->set_charset(编码);
数据库连接错误编号
$mysqli->connect_errno;
数据库连接错误信息
$mysqli->connect_error;
最近产生的错误编号
$mysqli->errno;
最近产生的错误信息
$mysqli->error;
最近产生的错的数组,0=>errno,sqlstate,error
$mysqli->error_list;
客户端版本
$mysqli->client_version;
客户端信息
$mysqli->ciient_info;
同上
$mysqli->get_client_info();
$mysqli->server_version;
$mysqli->server_info;
$mysqli->get_server_info();
执行一次数据库查询|执行一条SQL语句,多了会报错
SELECT, SHOW, DESCRIBE或 EXPLAIN,会返回mysqli_result对象,其他返回true;失败返回false
$result = $mysqli->query($sql);
得到上一步操作产生的受影响记录条数(增删改),值有3种:受影响条数,-1代表SQL语句有问题,0代表没有记录被影响
$mysqli->affected_rows;
得到上一次插入操作产生的auto_increment值(准确的是第一条的值)
$mysqli->insert_id;
结果集中记录条数,可用于判断
$result->num_rows;
返回一个二维数组,返回的是结果集中所有记录,默认返回索引,可以设置常量返回类型,MYSQLI_ACCOS,MYSQL_NUM(默认),MYSQLI_BOTH
$result->fetch_all();
从结果集中作为索引数组返回一条记录
$res->fetch_row();
从结果集中作为关联数组返回一条记录
$result->fetch_assoc();
从结果集中返回索引和关联数组都有返回一条记录,可设置常量
$result->fetch_array();
从结果集中返回一条记录作为对象
$result->fetch_object();
返回一条记录的字段信息
$result->fetch_field();
返回全部记录的字段信息
$result->fetch_fields();
移动结果集中内部指针从0开始
$result->data_seek(指针);
释放与结果集相关的内存
$result->free();
$result->free_result();
$result->close();
关闭数据库连接
$mysqli->close();
执行多条SQL语句,如果多条查询语句,返回多个结果集,可以配合do while循环全部结果集,返回三维数组
$mysqli->multi_query();
使用结果集也可以用use_result(),但效率低
$mysqli->store_result();
检测是否还有结果集
$mysqli->more_results();
讲结果集指针向下移动一位(使用下一个结果集)
$mysqli->next_result();
准备一个预处理语句,返回stmt对象,可以防止SQL注入
$stmt=$mysqli->prepare(SQL);
绑定参数,第一个参数为绑定的类型
$username;
$password
$stmt->bind_param('sss',$username,$password);
执行预处理语句,返回true或false
$stmt->execute();
绑定数据到变量,有几条就可以绑定几条(字段),然后就可以直接使用变量
$stmt->bind_result($username,$email);
遍历结果集(一条记录,使用上面的变量来读取数据)
$stmt->fetch();
使用结果集
$stmt->store_result();
释放预处理语句的结果集
$stmt->free_result();
关闭预处理语句
$stmt->close();
关闭自动提交
$mysqli->autocommit(FALSE);
SQL语句都成功则提交,并开启自动提交(可选)
$mysqli->commit();
SQL语句失败回滚
$mysqli->rollback();
php mysqli使用的更多相关文章
- 比Mysqli操作数据库更简便的方式 。PDO
下面来说一下PDO 先画一张图来了解一下 mysqli是针对mysql这个数据库扩展的一个类 PDO是为了能访问更多数据库 如果出现程序需要访问其他数据库的话就可以用PDO来做 PDO数据访问抽象层1 ...
- PHP 数据库连接工具类(MySQLI函数包装)
====================mysql===================== <?php class mysql { private $mysqli; private $resu ...
- php mysqli mysqli_query() mysqli_real_query()
2016年11月26日 15:22:27 星期六 场景: PHP从mysql中读取数据 1. 一次性读取所有数据返给PHP 2. 每次循环只读取一掉记录 数据量小的时候可以使用第一种方法, 数据量很大 ...
- mysqli操作数据库
1 连接数据库:可以使用对象或函数来连接(我们这里主要用mysqli对象,附带着函数连接) //创建mysqli对象(也可以叫做资源句柄) $_mysqli = new mysqli(); //连接数 ...
- php的mysql\mysqli\PDO(二)mysqli
原文链接:http://www.orlion.ga/1147/ mysqli有面向对象风格和面向过程风格,个人感觉还是用面向对象风格比较好(毕竟是面向对象) 1.mysqli::_construct( ...
- PHP使用mysqli扩展库实现增删改查(面向对象版)
mysqli扩展库是mysql扩展库的改进版本,在mysql扩展库的基础上提高了稳定性和效率,mysqli扩展库有两套东西,一套就是面向过程的mysqli另一套是面向对象的mysqli.操作方式大体和 ...
- 解决 Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in
转载 php 5个版本,5.2.5.3.5.4.5.5,怕跟不上时代,新的服务器直接上5.5,但是程序出现如下错误:Deprecated: mysql_connect(): The mysql ext ...
- PHP mysql与mysqli事务详解
官方对PHP连接到MySQL数据库服务器的三种主要的API简介如下: http://php.net/manual/zh/mysqli.overview.php PHP mysql与mysqli事务详解 ...
- mysql、mysqli、PDO一句话概括比较
mysql.mysqli.PDO一句话概括比较 1 mysql扩展 (注:原始的,较差) 2 mysqli扩展(面向过程式) (注:比上面多了更多功能) 3 mysqli扩展(面向对象式) (注:比上 ...
- mysqli链接数据库:面向对象
$mysqli = new mysqli('localhost','root','123','test');//检查连接是否成功if (mysqli_connect_error()){ //注意mys ...
随机推荐
- 慎用ToLower和ToUpper,小心把你的系统给拖垮了
不知道何时开始,很多程序员喜欢用ToLower,ToUpper去实现忽略大小写模式的字符串相等性比较,有可能这个习惯是从别的语言引进的,大胆猜测下是JS,为了不引起争论,我指的JS是技师的意思~ 一: ...
- zabbix监控nginx日志状态码
监控需求 监控Nginx常见的状态码并对其进行监控,对常见的错误状态码创建相对应的触发器以下按照分钟对数据进行抓取 Zabbix_Agentd创建监控脚本 1)创建脚本之前核对Nginx日志格式我这里 ...
- andorid jar/库源码解析
前言 本篇作为开篇,会大体上说明,需要解读源码的,类库,或者jar. 序 原本,类库和jar的系列准备写到逆向系列课程的,但是那个东西,在写了两篇,就没有后续了,现在也不知道从哪里开始了, 只能等后期 ...
- 使用 kind 快速搭建 kubernetes 环境
使用 kind 快速搭建 Kubernetes 环境 Intro kind(Kubernetes IN Docker) 是一个基于 docker 构建 Kubernetes 集群的工具,非常适合用来在 ...
- ASP.NET Core3.x 基础—注册服务(2)
这篇文章介绍在ASP.NET Core中注册一下自己的服务. 首先创建一个Services文件夹.在文件夹里面创建一个接口 IClock,以及两个类ChinaClock.UtcClock.这两个类分别 ...
- golang之channel
Buffered Channels package main import "fmt" func main() { ch := make(chan int, 2) ch <- ...
- java23种设计模式——泡MM版
一.创建型模式 1.FACTORY:追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,固然口味有所不同,但不管你带MM往麦当劳或肯德基,只管向服务员说;来四个鸡翅就行了.麦当劳和肯德 ...
- 步入LTE、多址技术
LTE系统的主要性能和目标 与3G相比,LTE主要性能特性: 带宽灵活配置:支持1.4MHz, 3MHz, 5MHz, 10Mhz, 15Mhz, 20MHz 峰值速率(20MHz带宽):下行100M ...
- k近邻法(二)
上一篇文章讲了k近邻法,以及使用kd树构造数据结构,使得提高最近邻点搜索效率,但是这在数据点N 远大于 2^n 时可以有效的降低算法复杂度,n为数据点的维度,否则,由于需要向上回溯比较距离,使得实际效 ...
- Bash Shell之内建命令和保留字
转载自:http://blog.chinaunix.net/uid-25880122-id-2941630.html 命令 含义 ! 保留字,逻辑非 : 不做任何事,只做参数展开 . 读取文件并在sh ...