连接到数据库
$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-CSV格式清洗与转换、CSV格式列变换、CSV格式数据清洗【数据读入的三种方法】【strip、replace、split、join函数的使用】

    1)CSV格式清洗与转换 描述 附件是一个CSV格式文件,提取数据进行如下格式转换:‪‬‪‬‬‪‬‮‬‪‬‭‬ (1)按行进行倒序排列:‪‬‪‬‪‬‪‬‪‬‮‬‬‪‬‮‬‪‬‭‬ (2)每行数据倒序排 ...

  2. NLP(二十九)一步一步,理解Self-Attention

      本文大部分内容翻译自Illustrated Self-Attention, Step-by-step guide to self-attention with illustrations and ...

  3. spring学习笔记(六)自定义spring-boot-starter(2)

    上篇文章我们主要讲了spring自动装配的原理,我们知道了springboot在启动的时候会自动去读.factories文件,在factories文件中,autoConfiguration对应的就是我 ...

  4. asp.net mvc entityframework sql server 迁移至 mysql方法以及遇到的问题

    背景: 我原来的项目是asp.net mvc5 + entityframework 6.4 for sql server(localdb,sql server),现在需要把数据库切换成mysql,理论 ...

  5. JDBC08时间处理

    时间类型 java.util.Date 子类: -java.sql.Date无时分秒 -java.sql.Time -java.sql.Timestamp

  6. 跨站点请求伪造(CSRF)总结和防御

    什么是CRSF 构建一个地址,比如说是删除某个博客网站博客的链接,然后诱使已经登录过该网站的用户点击恶意链接,可能会导致用户通过自己的手将曾经发布在该网站的博客在不知情的情况下删除了.这种构建恶意链接 ...

  7. tomcat 8.5 及其 9.0 response写cookie 设置damain为 [.test.com] 出错 An invalid domain [.test.com] was specified for this cookie

    抛出异常: java.lang.IllegalArgumentException: An invalid domain [.test.com] was specified for this cooki ...

  8. android 自定义Dialog去除黑色边框

    在自定义Dialog时显示的界面中老是有黑色的边框,下面就介绍使用style去除黑色边框方法. 首先在values/styles定义自定义样式: <style name="MyDial ...

  9. Redis学习笔记(八) RDB持久化

    Redis是内存数据库,它将自己的数据库状态存储在内存里面,所以如果不想办法将存储在内存中的数据库状态保存到磁盘,那么服务器 进程一旦退出,服务器中的数据库状态也会消失不见. 为了解决这个问题,Red ...

  10. Win10最常用的快捷键,效率Max提高100%(常用的应该是最全的)

    写在最前面 这是博主爆肝了一晚上给写出来,因为很多博客和资料中仍然使用的xp win7 和win8 的快捷键,我不断地的实验和尝试,总结出以下的快捷键,希望可以帮助到你. 最后,未经运营,爆肝博文不得 ...