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 中的一些经验积累
Oct 09 PHP
配置支持SSI
Nov 25 PHP
elgg 获取文件图标地址的方法
Mar 20 PHP
php excel类 phpExcel使用方法介绍
Aug 21 PHP
一个典型的PHP分页实例代码分享
Jul 28 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
Jun 02 PHP
php引用传值实例详解学习
Nov 06 PHP
回帖脱衣服的图片实现代码
Feb 15 PHP
PHP 二维数组根据某个字段排序的具体实现
Jun 03 PHP
PHP把小数转成整数3种方法
Jun 30 PHP
如何使用GDB调试PHP程序
Dec 08 PHP
Laravel事件监听器用法实例分析
Mar 12 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 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
抓取YAHOO股票报价的类
2009/05/15 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
浅析php数据类型转换
2014/01/09 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
2014/06/24 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
引用外部脚本时script标签关闭的写法
2014/01/20 Javascript
javascript 3d 逐侦产品展示(核心精简)
2014/03/26 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
Javascript核心读书有感之语言核心
2015/02/01 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
Python实现获取某天是某个月中的第几周
2015/02/11 Python
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
python版本的读写锁操作方法
2016/04/25 Python
利用python程序帮大家清理windows垃圾
2017/01/15 Python
python实现日常记账本小程序
2018/03/10 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
红十字会救护培训简讯
2015/07/20 职场文书
如何使用Python对NetCDF数据做空间相关分析
2021/04/21 Python
Go timer如何调度
2021/06/09 Golang
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis
sql注入教程之类型以及提交注入
2021/08/02 MySQL