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 相关文章推荐
Sorting Array Values in PHP(数组排序)
Sep 15 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
Jun 25 PHP
php读取文件内容的方法汇总
Jan 24 PHP
CodeIgniter与PHP5.6的兼容问题
Jul 16 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
Dec 08 PHP
简单谈谈PHP中strlen 函数
Feb 27 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
Laravel 5.3 学习笔记之 配置
Aug 28 PHP
PHP简单读取xml文件的方法示例
Apr 20 PHP
Smarty模板配置实例简析
Jul 20 PHP
Laravel监听数据库访问,打印SQL的例子
Oct 24 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 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使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
PHP反射机制原理与用法详解
2017/02/15 PHP
js电信网通双线自动选择技巧
2008/11/18 Javascript
JavaScript toFixed() 方法
2010/04/15 Javascript
javascript 节点排序 2
2011/01/31 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
使用vue-cli3新建一个项目并写好基本配置(推荐)
2019/04/24 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
js实现图片粘贴到网页
2019/12/06 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
[42:23]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第二场 12.10
2020/12/13 DOTA
Python多线程学习资料
2012/12/19 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
Django 外键的使用方法详解
2019/07/19 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
python 实现二维列表转置
2019/12/02 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
领导视察欢迎词
2014/01/15 职场文书
高一生物教学反思
2014/01/17 职场文书
大型车展策划方案
2014/02/01 职场文书
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
学习之星事迹材料
2014/05/17 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
学校捐书活动总结
2015/05/08 职场文书
小学学习委员竞选稿
2015/11/20 职场文书
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏