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中对用户身份认证实现两种方法
Jun 04 PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
Apr 24 PHP
浅谈json_encode用法
Mar 05 PHP
如何在HTML 中嵌入 PHP 代码
May 13 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
Jul 06 PHP
php 读取输出其他文件的实现方法
Jul 26 PHP
php str_getcsv把字符串解析为数组的实现方法
Apr 05 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
详解PHP的抽象类和抽象方法以及接口总结
Mar 15 PHP
PHP操作XML中XPath的应用示例
Jul 04 PHP
php策略模式简单示例分析【区别于工厂模式】
Sep 25 PHP
php给数组赋值的实例方法
Sep 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
PHP include_path设置技巧分享
2011/07/03 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
基于PHP实现假装商品限时抢购繁忙的效果
2015/10/16 PHP
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
js Flash插入函数免激活代码
2009/03/31 Javascript
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
微信小程序 Image API实例详解
2016/09/30 Javascript
angular4 如何在全局设置路由跳转动画的方法
2017/08/30 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
利用JS响应式修改vue实现页面的input值
2019/09/02 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
2020/05/10 Javascript
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
在Mac OS上使用mod_wsgi连接Python与Apache服务器
2015/12/24 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
python实现傅里叶级数展开的实现
2018/07/21 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
python实现马丁策略的实例详解
2021/01/15 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
严选全球尖货,立足香港:Bonpont宝盆
2018/07/24 全球购物
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
党委书记岗位职责
2013/11/24 职场文书
中学运动会广播稿
2014/01/19 职场文书
《争吵》教学反思
2014/02/15 职场文书
岗位竞聘书范文
2014/03/31 职场文书
初中英语演讲稿
2014/04/29 职场文书
企业安全生产责任书范本
2014/07/28 职场文书
委托书英文
2015/01/28 职场文书
世界红十字日活动总结
2015/02/10 职场文书
房屋所有权证明
2015/06/19 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL