连接到数据库
$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. 题目分享L

    题意:n个人围成一个环,每个人初始有一些金币,每个人可以把金币递给相邻的人,问最少传递多少金币使每个人金币数相同? 分析:首先在保证最优的情况下不可能会出现相邻的两个人互相送金币,因为这样他们公共的部 ...

  2. libevent(四)event_base 2

    接上文libevent(三)event_base event_io_map event_list是双向链表,min_heap是小根堆,那event_io_map是什么呢? #ifdef WIN32 # ...

  3. 【Hadoop离线基础总结】Hue与Impala集成

    Hue与Impala集成 1.修改hue.ini配置文件 [impala] server_host=node03 server_port=21050 impala_conf_dir=/etc/impa ...

  4. Linux高性能服务器技术总结

    文章目录 1 服务器简介 2 I/O复用技术 2.1 循环方式 2.2 select 方式 2.3 poll方式 2.4 epoll 方式 3 多线程方式 4 CPU多核并行计算 5 深度分析内核性能 ...

  5. redis文章汇总

    方便集群管理时的查看操作 http://www.cnblogs.com/mushroom/p/4738170.html http://www.cnblogs.com/hjwublog/p/568170 ...

  6. [hdu1506 Largest Rectangle in a Histogram]笛卡尔树

    题意:http://acm.hdu.edu.cn/showproblem.php?pid=1506 如图,求最大的矩形面积 思路: 笛卡尔树:笛卡尔树是一棵二叉树,树的每个节点有两个值,一个为key, ...

  7. CPU瞒着内存竟干出这种事

    还记得我吗,我是阿Q,CPU一号车间的那个阿Q. 今天忙里偷闲,来到厂里地址翻译部门转转,负责这项工作的小黑正忙得满头大汗. 看到我的到来,小黑指着旁边的座椅示意让我坐下. 坐了好一会儿,小黑才从工位 ...

  8. python100例 21-30

    021 猴子吃桃 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早 ...

  9. js canvas压缩图片和jQuery ajax上传图片简单demo

    原来用的插件,里面东西太乱了,一会jq,一会原生js,本来原生js就不熟,看起来更难受,而且感觉好多东西都是没用的,而且后端php转存文件一直不是很熟悉,正好一起整理一下.就是很简单的一个demo,如 ...

  10. Dynamics 365 联系人Contact的快速创建窗体,如何知道父窗体是哪个实体,通过window.top.parent.Xrm.Page.getUrl()可以知道父窗体的URL

    Dynamics 365 联系人Contact的快速创建窗体,如何知道父窗体是哪个实体?相信有人会遇到过这种头疼的问题,我这里分享一种方式: 在contact快速创建窗体的onload时间执行如下代码 ...