Heim > Backend-Entwicklung > PHP-Tutorial > PHP事务的如何写?

PHP事务的如何写?

WBOY
Freigeben: 2016-06-23 14:13:44
Original
955 Leute haben es durchsucht

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';		}
Nach dem Login kopieren


回复讨论(解决方案)

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';		}
Nach dem Login kopieren

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage