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 相关文章推荐
使用TinyButStrong模板引擎来做WEB开发
Mar 16 PHP
常见的PHP五种设计模式小结
Mar 23 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
Feb 14 PHP
php/js获取客户端mac地址的实现代码
Jul 08 PHP
php preg_replace替换实例讲解
Nov 04 PHP
php基于mcrypt的加密解密实例
Oct 27 PHP
Symfony生成二维码的方法
Feb 04 PHP
再谈PHP中单双引号的区别详解
Jun 12 PHP
PHP实现随机生成水印图片功能
Mar 22 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
Jun 09 PHP
laravel实现按时间日期进行分组统计方法示例
Mar 23 PHP
JS中彻底删除JSON对象组成的数组中的元素
Sep 22 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求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
smarty内置函数foreach用法实例
2015/01/22 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
2018/06/04 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
[53:21]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-CDEC
2014/05/22 DOTA
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
在Python中的Django框架中进行字符串翻译
2015/07/27 Python
pandas中的DataFrame按指定顺序输出所有列的方法
2018/04/10 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
2019/06/13 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
个人委托书格式
2014/04/04 职场文书
《池塘边的叫声》教学反思
2014/04/12 职场文书
安全责任书范本
2014/04/15 职场文书
中考标语大全
2014/06/05 职场文书
婚庆答谢词
2015/01/04 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
交流会主持词
2015/07/02 职场文书
浅谈PHP7中的一些小技巧
2021/05/29 PHP
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android
Redis Lua脚本实现ip限流示例
2022/07/15 Redis