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面向对象
Feb 22 PHP
那些年一起学习的PHP(三)
Mar 22 PHP
PHP实现自动登入google play下载app report的方法
Sep 23 PHP
PHP嵌套输出缓冲代码实例
May 12 PHP
php从文件夹随机读取文件的方法
Jun 01 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
Jun 10 PHP
总结对比php中的多种序列化
Aug 28 PHP
PHP redis实现超迷你全文检索
Mar 04 PHP
PHP多维数组排序array详解
Nov 21 PHP
PHP简单实现防止SQL注入的方法
Mar 13 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
php的对象传值与引用传值代码实例讲解
Feb 26 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
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
解析argc argv在php中的应用
2013/06/24 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
使用 vue-i18n 切换中英文效果
2018/05/23 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
js实现一款简单踩白块小游戏(曾经很火)
2019/12/02 Javascript
基于ts的动态接口数据配置的详解
2019/12/18 Javascript
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python使用matplotlib绘制热图
2018/11/07 Python
Python地图绘制实操详解
2019/03/04 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
python函数map()和partial()的知识点总结
2020/05/26 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
大学生毕业自我鉴定
2013/11/06 职场文书
小学生暑假感言
2014/02/06 职场文书
2014迎新年晚会策划方案
2014/02/23 职场文书
第二课堂活动总结
2014/05/07 职场文书
项目投资合作意向书
2014/07/29 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
自我检讨书范文
2015/01/28 职场文书
语文教师个人工作总结
2015/02/06 职场文书
感动中国何玥观后感
2015/06/02 职场文书
2016庆祝教师节新闻稿
2015/11/25 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书
Nginx + consul + upsync 完成动态负载均衡的方法详解
2021/03/31 Servers
react合成事件与原生事件的相关理解
2021/05/13 Javascript
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python