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 URL跳转代码 减少外链
Jun 25 PHP
php文件上传的例子及参数详解
Dec 12 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
Jul 15 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
Aug 20 PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 PHP
THINKPHP项目开发中的日志记录实例分析
Dec 01 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
php中yar框架实例用法讲解
Dec 27 PHP
swoole锁的机制代码实例讲解
Mar 04 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
德生PL990的分析评价
2021/03/02 无线电
php仿ZOL分页类代码
2008/10/02 PHP
PHP类的使用 实例代码讲解
2009/12/28 PHP
javascript replace方法与正则表达式
2008/02/19 Javascript
9个JavaScript评级/投票插件
2010/01/18 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
Node.js安装教程和NPM包管理器使用详解
2014/08/16 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中用于计算对数的log()方法
2015/05/15 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
深入浅出学习python装饰器
2017/09/29 Python
Python程序运行原理图文解析
2018/02/10 Python
对Python 3.2 迭代器的next函数实例讲解
2018/10/18 Python
Python判断以什么结尾以什么开头的实例
2018/10/27 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
PyTorch笔记之scatter()函数的使用
2020/02/12 Python
Python手动或自动协程操作方法解析
2020/06/22 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
带薪年假请假条
2014/02/04 职场文书
高考备战决心书
2014/03/11 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
2015年国庆节寄语
2015/08/17 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
Nginx配置并兼容HTTP实现代码解析
2021/03/31 Servers
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL
css样式important规则的正确使用方式
2022/06/10 HTML / CSS