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正则提取或替换img标记属性
Jun 26 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
Jul 08 PHP
php使用NumberFormatter格式化货币的方法
Mar 21 PHP
php打造智能化的柱状图程序,用于报表等
Jun 19 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 PHP
分享php多功能图片处理类
May 15 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
Jul 14 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
php可变长参数处理函数详解
Feb 22 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
详解php协程知识点
Sep 21 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手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
PHP 中使用explode()函数切割字符串为数组的示例
2017/05/06 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
jquery 插件开发方法小结
2009/10/23 Javascript
用js实现in_array的方法
2013/11/05 Javascript
jquery序列化表单去除指定元素示例代码
2014/04/10 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
2016/12/30 NodeJs
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
手写Node静态资源服务器的实现方法
2018/03/20 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
Python常用的内置序列结构(列表、元组、字典)学习笔记
2016/07/08 Python
Python中的变量和作用域详解
2016/07/13 Python
Python如何生成树形图案
2018/01/03 Python
浅析python参数的知识点
2018/12/10 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
Django视图扩展类知识点详解
2019/10/25 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
Python内存映射文件读写方式
2020/04/24 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
美国学校用品、教室和教学商店:Discount School Supply
2018/04/04 全球购物
兰蔻英国官网:Lancome英国
2019/04/30 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
《争吵》教学反思
2014/02/15 职场文书
相亲活动方案
2014/08/26 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
公司回复函格式
2015/07/14 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书