ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルでのトランザクションの使用例

PHP_PHP チュートリアルでのトランザクションの使用例

WBOY
WBOYオリジナル
2016-07-13 09:52:55790ブラウズ

PHPでのトランザクションの使用例

この記事では主にPHPでのトランザクションの使用例を紹介します。必要な方は参考にしてください。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

//データベース接続

$conn = mysql_connect('localhost', 'root', '');

mysql_select_db('test', $conn);

mysql_query("SET NAMES GBK");

/*

トランザクションをサポートするテーブルは InnoDB タイプである必要があります

トランザクション内で 1 回のみ表示できます:

mysql_query('START TRANSACTION');//トランザクションを開始します

mysql_query(' ROLLBACK ');// トランザクションをロールバックします

mysql_query('COMMIT');//トランザクションを送信します

トランザクション内で複数のロールバック トランザクションが発生する場合、トランザクションが送信されると、最初のロールバックの前からトランザクションの開始後までのデータベース上のすべての操作のみがキャンセルされ、最初のロールバックの後からその前までのデータベース上のすべての操作がキャンセルされます。コミットされたトランザクションはキャンセルされても有効であるため、通常はロールバック ステートメントをコミット トランザクション ステートメントの前にのみ配置します

トランザクションに commit ステートメントがない場合、データベースに対する以下の操作はすべてトランザクションの最初から実行されます (実行メソッドは true または false を返します)。ただし、データベースには影響しません。次のトランザクションステートメントが実行されると、前のトランザクションは自動的にコミットされます

*/

mysql_query('トランザクションの開始');

$は悪い = 0;

$ins_testTable1 = "INSERT INTO testtable1(NAME,age)VALUES('first',23)";

if(!mysql_query($ins_testTable1)){

$は悪い =1;

}

//挿入ステートメントのフィールド名が間違っています

$ins_testTable2 = "INSERT INTO testtable1(NAME,ages)VALUES('秒','24')";

if(!mysql_query($ins_testTable2)){

$は悪い =1;

}

if($isBad == 1){

エコー $isBad;

mysql_query('ROLLBACK ');

}

mysql_query('COMMIT');

mysql_close($conn);

?>

http://www.bkjia.com/PHPjc/1006580.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1006580.html技術記事 PHP でのトランザクションの使用例 この記事では、主に PHP でのトランザクションの使用例を紹介します。必要な方は参考にしてください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。