您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php什么时候用事务

2025/11/6 14:54:13发布9次查看
在某些程序在执行的时候需要进行多个动作,而我们的业务要求是某个动作在执行错误的时候该进程所有的动作都不再执行,全部执行成功才算成功,否则就回到执行之前的状态,这就需要用到事务的处理。   (推荐学习:php视频教程)
原生代码如下:
<?php $link = mysqli_connect('localhost','username','password'); //创建链接 if(!$link) exit('数据库连接失败'); //判断是否链接成功 mysqli_set_charset($link , 'utf8'); //设置字符集 mysqli_select_db($link,'mydatabase'); //选择数据库 $sql1 = "正确的插入语句"; //准备sql语句 $sql2 = "错误的插入语句"; $result1 = mysqli_query($link , $sql1); //发送sql语句 $result2 = mysqli_query($link , $sql2); if($result1 && $result2) { mysql_query(“commit”); //提交事务 echo "提交成功"; } else { mysql_query("rollback"); echo '数据回滚'; } mysql_query("end"); //事务结束
pdo 代码如下:
try { //实例化pdo对象 $pdo = new pdo("mysql:host=localhost;dbname=test","root","root",array(pdo::attr_errmode=>pdo::errmode_exception)); $pdo->setattribute(pdo::attr_errmode,pdo::errmode_exception); //开启事务 $pdo->begintransaction(); //执行sql语句 $pdo->exec("insert into t1(username,password,rtime,rip) values('shiwu2','shiwu2','456456456','456456456')"); $pdo->exec("insert into t2(username,password,rtime,rip) values('shiwu2',shiwu2','456456456','456456456')"); //提交事务 $pdo->commit(); //pdo pdostatement pdoexception} catch(pdoexception $e) { //回滚事务 $pdo->rollback(); echo "数据回滚"; }
tp5 框架中使用事务
//模型方法function demo{ //开启事务 $this->starttrans(); //业务逻辑操作 $data['id'] = 1; $res = $this->insertuserinfo($data); //保存用户信息 if($res) { //提交事务 $this->commit(); return $res; } else { //事务回滚 $this->rollback(); }}
以上就是php什么时候用事务的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product