连接到数据库
$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使用的更多相关文章

  1. 比Mysqli操作数据库更简便的方式 。PDO

    下面来说一下PDO 先画一张图来了解一下 mysqli是针对mysql这个数据库扩展的一个类 PDO是为了能访问更多数据库 如果出现程序需要访问其他数据库的话就可以用PDO来做 PDO数据访问抽象层1 ...

  2. PHP 数据库连接工具类(MySQLI函数包装)

    ====================mysql===================== <?php class mysql { private $mysqli; private $resu ...

  3. php mysqli mysqli_query() mysqli_real_query()

    2016年11月26日 15:22:27 星期六 场景: PHP从mysql中读取数据 1. 一次性读取所有数据返给PHP 2. 每次循环只读取一掉记录 数据量小的时候可以使用第一种方法, 数据量很大 ...

  4. mysqli操作数据库

    1 连接数据库:可以使用对象或函数来连接(我们这里主要用mysqli对象,附带着函数连接) //创建mysqli对象(也可以叫做资源句柄) $_mysqli = new mysqli(); //连接数 ...

  5. php的mysql\mysqli\PDO(二)mysqli

    原文链接:http://www.orlion.ga/1147/ mysqli有面向对象风格和面向过程风格,个人感觉还是用面向对象风格比较好(毕竟是面向对象) 1.mysqli::_construct( ...

  6. PHP使用mysqli扩展库实现增删改查(面向对象版)

    mysqli扩展库是mysql扩展库的改进版本,在mysql扩展库的基础上提高了稳定性和效率,mysqli扩展库有两套东西,一套就是面向过程的mysqli另一套是面向对象的mysqli.操作方式大体和 ...

  7. 解决 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 ...

  8. PHP mysql与mysqli事务详解

    官方对PHP连接到MySQL数据库服务器的三种主要的API简介如下: http://php.net/manual/zh/mysqli.overview.php PHP mysql与mysqli事务详解 ...

  9. mysql、mysqli、PDO一句话概括比较

    mysql.mysqli.PDO一句话概括比较 1 mysql扩展 (注:原始的,较差) 2 mysqli扩展(面向过程式) (注:比上面多了更多功能) 3 mysqli扩展(面向对象式) (注:比上 ...

  10. mysqli链接数据库:面向对象

    $mysqli = new mysqli('localhost','root','123','test');//检查连接是否成功if (mysqli_connect_error()){ //注意mys ...

随机推荐

  1. 使用Python+TensorFlow2构建基于卷积神经网络(CNN)的ECG心电信号识别分类(二)

    心律失常数据库 目前,国际上公认的标准数据库包含四个,分别为美国麻省理工学院提供的MIT-BIH(Massachusetts Institute of Technology-Beth Israel H ...

  2. SecureCRT怎么将本级文件上传到CentOS

    进入到想要放文件的路径,不然会默认放在当前路径下: 输入 rz -------------------------------------------------------------------- ...

  3. B - Save the problem! CodeForces - 867B 构造题

    B - Save the problem! CodeForces - 867B 这个题目还是很简单的,很明显是一个构造题,但是早训的时候脑子有点糊涂,想到了用1 2 来构造, 但是去算这个数的时候算错 ...

  4. spring的单元测试

    如果spring 4.3.18这个版本的spring要使用junit,需要使用junit的junit-4.12之上的版本.使用这个版本junit的时 候需要引入hamcrest-all的jar包.之前 ...

  5. js获取对象属性的两种方法,object.属性名,[‘属性名’ ]

    1.通过点的方式 2.通过括号的方式 例: <input type="text" value="hello" id="text"/&g ...

  6. 视频文件自动转rtsp流

    最近碰到一个项目需要用到 rtsp 视频流做测试, 由于真实环境的 摄像头 并不能满足需求,故尝试了一下用本地视频文件转换成rtsp视频流做测试,记录一下~ 采用方案: Docker + EasyDa ...

  7. 3D三栅极晶体管(摘抄)

    英特尔的科学家们在2002年发明了三栅极晶体管——这是根据栅极有三面而取名的. 传统“扁平的”2D平面栅极被超级纤薄的.从硅基体垂直竖起的3D硅鳍状物所代替.电流控制是通过在鳍状物三面的每一面安装一个 ...

  8. python3语法学习第五天--函数(1)

    函数:函数能提高应用的模块性,和代码的重复利用率,是一段可重复使用的代码块 自定义函数: 1.函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 2.任何传入参数和自变量必须放在圆括 ...

  9. 关于oracle怎么看清楚字段的一些实践

    在oracle存储过程或者平时编码中会有很多时候对不上字段,这时候在字段逗号后面可以主动加上--数字. 还有的是应该注意尽量让每个字段都占有一行的空间.下面部分截图说明

  10. springboot+vue前后端免费开源

    序言 继上一篇 一套管理系统基础模版 详细梳理一下安装流程,功能说明,开发规范等. 后端项目结构? 如何从零搭建环境开发? 如何打包部署? 接入开发及规范 项目地址 小结 后端项目结构 ​ shop- ...