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速度全攻略
Oct 09 PHP
mysql 全文搜索 技巧
Apr 27 PHP
php heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 PHP
PHP PDO函数库详解
Apr 27 PHP
CodeIgniter框架过滤HTML危险代码
Jun 12 PHP
PHP远程调试之XDEBUG
Dec 29 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
浅谈PHP中的数据传输CURL
Sep 06 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
Apr 21 PHP
PHP之认识(二)关于Traits的用法详解
Apr 11 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文字水印和php图片水印实现代码(二种加水印方法)
2013/12/25 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
2016/07/18 PHP
Ubuntu上安装yaf扩展的方法
2018/01/29 PHP
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
2014/02/11 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
2014/12/31 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
vue ssr 指南详读
2018/06/29 Javascript
vue添加class样式实例讲解
2019/02/12 Javascript
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
python登录QQ邮箱发信的实现代码
2013/02/10 Python
python 网络爬虫初级实现代码
2016/02/27 Python
Python后台开发Django会话控制的实现
2019/04/15 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
Django3.0 异步通信初体验(小结)
2019/12/04 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
python实现登录与注册系统
2020/11/30 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
Qoo10台湾站:亚洲领先的在线市场
2018/05/15 全球购物
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
降消项目实施方案
2014/03/30 职场文书
高校教师个人工作总结2014
2014/12/17 职场文书
党员个人党性分析材料
2014/12/18 职场文书
物业工程部岗位职责
2015/02/11 职场文书
2015年政风行风工作总结
2015/04/21 职场文书
工程款申请报告
2015/05/15 职场文书
看古人们是如何赞美老师的?
2019/07/08 职场文书
MySQL8.0的WITH查询详情
2021/08/30 MySQL