PHP事务的如何写?
程序员文章站
2022-06-12 21:59:04
...
PHP 的事务怎么写? 我现在是一条update,一条insert
代码如下,错误是,值类型发生了错误,事务没起作用.
代码如下,错误是,值类型发生了错误,事务没起作用.
$db = new DbManager(); $conn = $db->getConnection(); $conn->set_charset("utf8"); if(mysqli_connect_errno()) { echo 'error connect database! please content manager!'; exit; } //echo connection_status(); $tbNums = explode(',',$tbNum); $conn->autocommit(FALSE); $flag = true; $a=0; foreach($tbNums as $key => $value) { $updateBalance = "UPDATE T_SMS_TBNUM SET STATUS = 2 WHERE ID = ?"; $insertRelate = "INSERT INTO T_SMS_TBNUMRELATE (TBID,OWNCLIENTID,REALFEE,CREATETIME) VALUES(?,?,?,?)"; $stmtUpdateClient = $conn->prepare($updateBalance); $stmtUpdateClient->bind_param('i',$value); $ss = $stmtUpdateClient->execute(); $stmt = $conn->prepare($insertRelate); $foura = 4; $a++; if($a!=0){ $value = 's'; } $stmt->bind_param('iids',$value,$clientId,$foura,date('Y-m-d H:i:s')); $boooo = $stmt->execute(); echo $ss.'+'.$boooo; if($stmtUpdateClient->affected_rows affected_rows affected_rows.'|'.$stmt->affected_rows; $flag = false; break; } } if(!$flag) { $conn ->rollback(); $conn -> autocommit(TRUE); $conn->close(); return 'paylog false!'; }else { $conn->commit(); $conn -> autocommit(TRUE); $conn->close(); return '1'; }
回复讨论(解决方案)
if( $stmt->affected_rows affected_rows rollback(); $conn -> autocommit(TRUE); $conn->close(); return 'unknow_error'; }else { $conn->commit(); $conn -> autocommit(TRUE); $conn->close(); return '1'; }
推荐阅读
-
MySQL嵌套事务所遇到的问题
-
PHP字符串函数系列之nl2br(),在字符串中的每个新行 ( ) 之前插入 HTML 换行符br
-
PHP把数字转成人民币大写的函数分享
-
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
-
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
-
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
-
PHP把JPEG图片转换成Progressive JPEG的方法
-
php 无限级分类,超级简单的无限级分类,支持输出树状图
-
使用VisualStudio开发php的图文设置方法
-
30 个很棒的PHP开源CMS内容管理系统小结