ホームページ >バックエンド開発 >PHPチュートリアル >MySQLトランザクションロールバックの書き方

MySQLトランザクションロールバックの書き方

WBOY
WBOYオリジナル
2016-06-13 13:26:221101ブラウズ

MySQLのトランザクションロールバックの書き方を教えてください。
Mysql トランザクション ロールバックを記述する方法は?
現在、問題が発生しています。フォーラム通貨控除プロジェクトでは、フォーラム通貨の支払い時にユーザーが突然インターネットから切断されたり、コンピューターがクラッシュしたり、停電やその他の自然災害が発生した場合、トランザクションは成功しません。は、ユーザーの通貨が差し引かれていますが、サーバーデータベースに消費記録がないなどの状況です)この状況はMysqlトランザクションロールバックによって処理されますか?コードの書き方は?他に方法はありますか?

――――先輩専門家の詳しい解説を楽しみにしています!

-----解決策--------------------------------
commit しないと有効になりません。ロールバックは送信ではなくキャンセルを意味します。
------解決策------------------
これについては何も言うことはありません。SQL を間違って書いてその効果を確認するためのセクションがインターネット上にたくさんあります

。
mysql_query("BEGIN"); //または mysql_query("START TRANSACTION");
$sql = "INSERT INTO ...";
$sql2 = "...に挿入";
$res = mysql_query($sql);
$res1 = mysql_query($sql2);
if($res && $res1){
    mysql_query("コミット");
    echo '送信は成功しました。 ';
}それ以外{
    mysql_query("ROLLBACK");
    echo 'データのロールバック。 ';
}
mysql_query("END"); <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。