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实现读取和编写XML DOM代码
Apr 07 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
Jun 20 PHP
Laravel 5框架学习之用户认证
Apr 09 PHP
php编程每天必学之验证码
Mar 03 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
PHP调试及性能分析工具Xdebug详解
Feb 09 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 PHP
php+websocket 实现的聊天室功能详解
May 27 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实例分享之mysql数据备份
2014/05/19 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
php中请求url的五种方法总结
2017/07/13 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
关于Curl在Swoole协程中的解决方案详析
2019/09/12 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
jQuery右下角悬浮广告实例
2016/10/17 Javascript
详解JS中的立即执行函数
2017/02/24 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
[01:34]2014DOTA2展望TI 剑指西雅图VG战队专访
2014/06/30 DOTA
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
浅谈Python单向链表的实现
2015/12/24 Python
使用django-crontab实现定时任务的示例
2018/02/26 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
python银行系统实现源码
2019/10/25 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
HTTP状态码详解
2021/03/18 杂记
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
奢华的意大利皮革手袋:Bene Handbags
2019/10/29 全球购物
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
实习求职信
2013/12/01 职场文书
期末考试动员演讲稿
2014/01/10 职场文书
采购助理岗位职责
2014/02/16 职场文书
揭牌仪式主持词
2014/03/19 职场文书
开学寄语大全
2014/04/08 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
学校党员对照检查材料
2014/08/28 职场文书
学校远程教育工作总结
2015/08/11 职场文书