これら 3 つをどのように組み合わせて使用​​するのでしょうか?

WBOY
リリース: 2016-06-23 13:45:03
オリジナル
1041 人が閲覧しました

$_mysqli->rollback();
$_mysql->atuocommit();
InnoDB の使用方法


ディスカッションへの返信 (解決策)

http://php.net/manual/zh/ mysqli.autocommit.php マニュアルを上手に活用しましょう

小さな例

	$mysqli=new mysqli("localhost","root","123456","test");	if($mysqli->connect_error){		die($mysql->connect_error);	}	//将提交设为 false(一旦提交,无法回滚)	$mysqli->autocommit(false);	//保存点 ,把当前记录保存	$sql1="update account set balance=balance-1 where id=1";	$sql2="update account set balance=balance+1 where id=2";	$b1=$mysqli->query($sql1);	$b2=$mysqli->query($sql2);	if(!$b1||!$b2){		//回滚		$mysqli->rollback();		echo "失败--".$mysqli->error;	}else{		//提交		$mysqli->commit();		echo "成功";	}	$mysqli->close();
ログイン後にコピー
ログイン後にコピー

http://php.net/manual/zh/mysqli.autocommit.php マニュアルを上手に活用しましょう


マニュアルを読んで、それをうまく活用するには、2 つの行動とロジックがあります。いいですか、善であることは結果であり、偶然ではありません。しかし、善であることを見たいのであれば、そうすることができます。すぐに見ることができます。なぜなら、見ることは行為だからです

小さな例

	$mysqli=new mysqli("localhost","root","123456","test");	if($mysqli->connect_error){		die($mysql->connect_error);	}	//将提交设为 false(一旦提交,无法回滚)	$mysqli->autocommit(false);	//保存点 ,把当前记录保存	$sql1="update account set balance=balance-1 where id=1";	$sql2="update account set balance=balance+1 where id=2";	$b1=$mysqli->query($sql1);	$b2=$mysqli->query($sql2);	if(!$b1||!$b2){		//回滚		$mysqli->rollback();		echo "失败--".$mysqli->error;	}else{		//提交		$mysqli->commit();		echo "成功";	}	$mysqli->close();
ログイン後にコピー
ログイン後にコピー


構造は非常に明確です。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート