ホームページ >バックエンド開発 >PHPチュートリアル >PHP MySQLトランザクション
PHP では、mysqli は mysql トランザクションの関連操作を適切にカプセル化しています。次の例:
view plain copy to Clipboard print ?
$sql1 = "update User set ScoreCount = ScoreCount +10 where ID= '123456'"; $sql2 = "update SFScoreDetail setcore = 300 where ID= ' 123456'"; $sql3 = "ScoreDetail ID,Score) 値に挿入 ('123456',60)"; $mysqli = new mysqli('localhost','root','','DB_Lib2Test'); $ mysqli- >autocommit(false);// 開始 $mysqli->query($sql1); $mysqli->query($sql2); if(!$mysqli->errno){ $mysqli-> ;commit (); echo 'ok'; }else{ echo 'err'; $mysqli->rollback();ここでは、php mysql 一連の関数を使用してトランザクションを実行します。
クリップボードへのプレーンコピーを表示します 印刷しますか?
$sql1 = "update User set ScoreCount = ScoreCount +10 where ID= '123456'"; $sql2 = "update ScoreDetail set FScore = 300 where ID= '1 23456' " ; $sql3 = "ScoreDetail ID,Score) 値に挿入 ('123456',60)"; $conn = mysql_connect('localhost','root',''); mysql_select_db('DB_Lib2Test'); mysql_query ('トランザクションを開始'); //mysql_query('SET autocommit=0'); mysql_query($sql2); if(mysql_errno ()){ mysql_query('err'); }else { mysql_query('commit'); echo 'ok' } // mysql_query('SET autocommit=1'); // mysql_query($sql3); ここで注意してください MyISAM:使用のみ 読み取りプログラムのパフォーマンスが向上 InnoDB: ACID トランザクション、行レベルのロック、同時実行をサポート Berkeley DB: トランザクションをサポート