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 相关文章推荐
文章推荐系统(二)
Oct 09 PHP
图书管理程序(三)
Oct 09 PHP
将一维或多维的数组连接成一个字符串的php代码
Aug 08 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
php入门学习知识点四 PHP正则表达式基本应用
Jul 14 PHP
PHP中strtotime函数使用方法分享
Jan 10 PHP
Trying to clone an uncloneable object of class Imagic的解决方法
Jan 11 PHP
php遍历文件夹和文件列表示例分享
Mar 11 PHP
PHP往XML中添加节点的方法
Mar 12 PHP
php获取当前页面完整URL地址
Dec 30 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 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实现的简单压缩英文字符串的代码
2008/04/24 PHP
PHP获取windows登录用户名的方法
2014/06/24 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
汇总PHPmailer群发Gmail的常见问题
2016/02/24 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
js导航菜单(自写)简单大方
2013/03/28 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
vue 做移动端微信公众号采坑经验记录
2018/04/26 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
原生js实现简单轮播图
2020/10/26 Javascript
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
Python实现可自定义大小的截屏功能
2018/01/20 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
pytorch 自定义参数不更新方式
2020/01/06 Python
flask框架蓝图和子域名配置详解
2020/01/25 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
Python中格式化字符串的四种实现
2020/05/26 Python
Yahoo的PHP面试题
2014/05/26 面试题
班会关于环保演讲稿
2013/12/29 职场文书
十岁生日家长答谢词
2014/01/17 职场文书
产品质量承诺范本
2014/03/31 职场文书
给校长的建议书600字
2014/05/15 职场文书
调研汇报材料范文
2014/08/17 职场文书
个人授权委托书
2014/09/15 职场文书
2014年食堂工作总结
2014/11/20 职场文书
建党伟业电影观后感
2015/06/01 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
JavaScript实现优先级队列
2021/12/06 Javascript
Python3的进程和线程你了解吗
2022/03/16 Python
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS