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 相关文章推荐
支持oicq头像的留言簿(一)
Oct 09 PHP
php读取数据库信息的几种方法
May 24 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 PHP
分享一段PHP制作的中文拼音首字母工具类
Dec 11 PHP
php实现无限级分类
Dec 24 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
详解在YII2框架中使用UEditor编辑器发布文章
Nov 02 PHP
PHP代码覆盖率统计详解
Jul 22 PHP
通过代码实例解析PHP session工作原理
Dec 11 PHP
laravel ajax curd 搜索登录判断功能的实现
Apr 17 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
PHP生成UTF8文件的方法
2010/05/15 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
php中session退出登陆问题
2014/02/27 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
使用PHP开发留言板功能
2019/11/19 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
js创建表单元素并使用submit进行提交
2014/08/14 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
微信小程序 animation API详解及实例代码
2016/10/08 Javascript
Bootstrap fileinput组件封装及使用详解
2017/03/10 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
js实现点赞效果
2020/03/16 Javascript
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
python 移除字符串尾部的数字方法
2018/07/17 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
2019/08/24 Python
Python3内置函数chr和ord实现进制转换
2020/06/05 Python
浅析Python 序列化与反序列化
2020/08/05 Python
关于Assembly命名空间的三个面试题
2015/07/23 面试题
全民健身日活动方案
2014/01/29 职场文书
初中英语课后反思
2014/04/25 职场文书
学校文明单位申报材料
2014/05/06 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
会计工作岗位职责
2015/02/03 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
爱鸟护鸟的宣传语
2015/07/13 职场文书
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang