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 相关文章推荐
发款php蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
destoon二次开发入门示例
Jun 20 PHP
php网页病毒清除类
Dec 08 PHP
PHP随机生成信用卡卡号的方法
Mar 23 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
PHP依赖注入原理与用法分析
Aug 21 PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 PHP
PHP 枚举类型的管理与设计知识点总结
Feb 13 PHP
PHP 实现base64编码文件上传出现问题详解
Sep 01 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编程最快明白》第四讲:日期、表单接收、session、cookie
2010/11/01 PHP
php中一个完整表单处理实现代码
2011/11/10 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
JavaScript 快捷键设置实现代码
2009/03/13 Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
Node.js和PHP根据ip获取地理位置的方法
2014/03/14 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
Bootstrap布局组件应用实例讲解
2016/02/17 Javascript
Bootstrap Table的使用总结
2016/10/08 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
JavaScript监听触摸事件代码实例
2019/12/30 Javascript
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
python决策树之C4.5算法详解
2017/12/20 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2018/11/23 Python
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
Ootori在线按摩椅店:一家专业的按摩椅制造商
2019/04/10 全球购物
空指针到底是什么
2012/08/07 面试题
应届毕业生求职信范文
2014/05/08 职场文书
研究生导师推荐信
2014/09/06 职场文书
机关作风建设自查报告
2014/10/22 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers
从原生JavaScript到React深入理解
2022/07/23 Javascript