Home > Backend Development > PHP Tutorial > PHP事务的如何写?

PHP事务的如何写?

WBOY
Release: 2016-06-23 14:13:44
Original
956 people have browsed it

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 <= 0 || $stmt->affected_rows <= 0)		{			echo $stmtUpdateClient->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';		}
Copy after login


回复讨论(解决方案)

if( $stmt->affected_rows <= 0 ||  ($masterId && $stmtLower->affected_rows <= 0))		{					$conn ->rollback();					$conn -> autocommit(TRUE);					$conn->close();			return 'unknow_error';		}else		{					$conn->commit();					$conn -> autocommit(TRUE);					$conn->close();			return '1';		}
Copy after login

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template