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 相关文章推荐
如何给phpadmin一个保护
Oct 09 PHP
PHP随机字符串生成代码(包括大小写字母)
Jun 24 PHP
PHP无限分类(树形类)
Sep 28 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
PHP的password_hash()使用实例
Mar 17 PHP
ThinkPHP的I方法使用详解
Jun 18 PHP
Cygwin中安装PHP方法步骤
Jul 04 PHP
php base64 编码与解码实例代码
Mar 21 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 PHP
Laravle eloquent 多对多模型关联实例详解
Nov 22 PHP
php nginx 实时输出的简单实现方法
Jan 21 PHP
PHP实现获取文件mime类型多种方法解析
May 28 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脚本数据库功能详解(上)
2006/10/09 PHP
php 文件缓存函数
2011/10/08 PHP
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
php正则表达式学习笔记
2015/11/13 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
jquery $.ajax入门应用二
2008/11/19 Javascript
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
jQuery Ajax文件上传(php)
2009/06/16 Javascript
一个简单的js鼠标划过切换效果
2010/06/30 Javascript
JS面向对象编程之对象使用分析
2010/08/19 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
2014/10/17 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
基于Three.js实现360度全景图片
2018/12/30 Javascript
JavaScript使用Math.random()生成简单的验证码
2019/01/21 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
微信小程序实现canvas分享朋友圈海报
2020/06/21 Javascript
python中多层嵌套列表的拆分方法
2018/07/02 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
python中树与树的表示知识点总结
2019/09/14 Python
python redis存入字典序列化存储教程
2020/07/16 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
交通安全责任书范本
2014/07/24 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
财务检查整改报告
2014/11/06 职场文书
街道党风廉政建设调研报告
2015/01/01 职场文书
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL
教你如何用cmd快速登录服务器
2022/06/10 Servers