PHP mysqli事务操作常用方法分析


Posted in PHP onJuly 22, 2017

本文实例讲述了PHP mysqli事务操作常用方法。分享给大家供大家参考,具体如下:

1、

//打开(true)或关闭(false)本次数据库连接的自动命令提交事务模式
//参数如果设置为 FALSE,则表示关闭 auto-commit。如果设置为 TRUE,则表示开启 auto-commit(提交任何等待查询)。
bool mysqli::autocommit ( bool $mode )

2、

//回退当前事务
bool mysqli::rollback ()

3、

//提交一个事务
bool mysqli::commit ()

4、

//关闭先前打开的数据库连接
bool mysqli::close ()

5、

//对数据库执行一次查询
//失败时返回 FALSE,通过mysqli_query() 成功执行SELECT, SHOW, DESCRIBE或 EXPLAIN查询会返回一个mysqli_result 对象,其他查询则返回TRUE
//参数$resultmode可选。一个常量。可以是下列值中的任意一个:
//MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)
//MYSQLI_STORE_RESULT(默认)
mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

代码示例:

<?php
$mysqli = new mysqli("127.0.0.1","root","111111","test");
if ($mysqli->connect_errno){
  echo "Failed to connect to MySQL: " . $mysqli->connect_error;
}
//默认auto-commit 是打开的,可直接提交sql语句
$b1 = $mysqli->query("INSERT INTO test (id,name) values (0,'000')");
//若要执行事务,先关闭auto-commit
//关闭 auto-commit
$mysqli->autocommit(false);
$res1 = $mysqli->query("INSERT INTO test (id,n1ame) values (1,'111')");
$b2 = $mysqli->query("INSERT INTO test (id,name) values (2,'222')");
//有一条失败则回滚,全部成功则提交
if(!$res1 || !$b2){
  echo '回滚!';
  $mysqli->rollback();
} else {
  echo '提交!';
  $mysqli->commit();
}
//若想再次自动提交非事务语句,要打开auto-commit
$mysqli->autocommit(true);
$b3 = $mysqli->query("INSERT INTO test (id,name) values (3,'333')");
//关闭连接
$mysqli->close();
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
js下函数般调用正则的方法附代码
Jun 22 PHP
Zend Guard一些常见问题解答
Sep 11 PHP
cmd下运行php脚本
Nov 25 PHP
PHP加速 eAccelerator配置和使用指南
Jun 05 PHP
利用curl 多线程 模拟 并发的详解
Jun 14 PHP
从PHP的源码中深入了解stdClass类
Apr 18 PHP
ThinkPHP Mobile使用方法简明教程
Jun 18 PHP
thinkphp判断访客为手机端或PC端的方法
Nov 24 PHP
PHP制作用户注册系统
Oct 23 PHP
PHP开发中常用的十个代码样例
Feb 02 PHP
php str_replace替换指定次数的方法详解
May 05 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 #PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 #PHP
PHP编程快速实现数组去重的方法详解
Jul 22 #PHP
php使用ftp实现文件上传与下载功能
Jul 21 #PHP
YII2框架中excel表格导出的方法详解
Jul 21 #PHP
实例讲解YII2中多表关联的使用方法
Jul 21 #PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 #PHP
You might like
PHP7内核之Reference详解
2019/03/14 PHP
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
学习ExtJS form布局
2009/10/08 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
react中的ajax封装实例详解
2017/10/17 Javascript
利用CDN加速react webpack打包后的文件详解
2018/02/22 Javascript
JS实现左边列表移到到右边列表功能
2018/03/28 Javascript
Layui数据表格之获取表格中所有的数据方法
2018/08/20 Javascript
[39:11]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第二局
2016/02/28 DOTA
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
Python实现求笛卡尔乘积的方法
2017/09/16 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
将tensorflow模型打包成PB文件及PB文件读取方式
2020/01/23 Python
django的autoreload机制实现
2020/06/03 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
婚纱店策划方案
2014/05/22 职场文书
记账会计岗位职责
2014/06/16 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
百家讲坛观后感
2015/06/12 职场文书
2016年党建工作简报
2015/11/26 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python
AudioContext 实现音频可视化(web技术分享)
2022/02/24 Javascript
GTX1660显卡搭配显示器推荐
2022/04/19 数码科技
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python