PDOトランザクション
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-25 09:05:54
PDOトランザクション
-
- //pdo は、mysql トランザクション処理の簡単な例を実装します
- /*
- 複数のデータをデータベースに書き込むトランザクションを実装します
- テスト値に挿入します ('test123', ' test123')
- * /
- $type = 'mysql'; //接続するデータベースの種類
- $host = 'localhost' //データベースホスト
- $dbname = 'test';選択するデータベース
- $password = '' ;
- $username = 'root';
- $dsn = "{$type}:dbname={$dbname};host={$host}";
- try{
-
- //データベースに接続します
- $pdo = new PDO($dsn, $username, $password);
- //エンコーディング
- $pdo->exec("set names utf8");
-
- //エラーを設定しますプロンプトメソッド
- $pdo->setAttribute(PDO: :ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
-
- //標準トランザクションを開く
- $pdo->beginTransaction();
-
- // SQL ステートメントを構築
- //$sql = "テスト値に挿入 (?,?)" ;
- $sql = "テスト値に挿入 (:user, :password)"
- //または次の SQL ステートメントを使用します: user :password は次のようになります。パラメータをバインドするための疑問符関数
-
- $stmt = $pdo->prepare( $sql);
-
- // SQL ステートメント内の変数に変数をバインドします
- $stmt->bindParam(':user', $username) ;
- $stmt->bindParam(':password', $password) ;
-
- //SQL ステートメント内の変数に値を代入します
- $username = 'test123';
- $password = '123456';
-
- $ stmt->execute();
-
- $rows = $stmt->rowCount ();
-
- if($rows //失敗した場合は例外をスローします
- throw new PDOException('最初の SQLステートメントの実行に失敗しました! ', '01');
-
- }
-
-
- $username = 'hello123';
- $password = '123456';
-
- $stmt->execute();
-
- $rows = $stmt->rowCount ();
-
- if($rows //失敗した場合は例外をスローします
- throw new PDOException('2 番目の SQL ステートメントの実行に失敗しました!', '02');
-
- }
-
-
- $ ユーザー名 = 'world123';
- $パスワード = '123456';
-
- $stmt->execute();
-
- $rows = $stmt->rowCount();
-
- if($rows //失敗した場合は例外をスローします
- throw new PDOException('3 番目の SQL ステートメントの実行に失敗しました!', '02');
-
- }
-
- // 例外がスローされなければ、すべての SQL ステートメントは正常に実行されます実行され、トランザクションが送信されます。
- $pdo->commit();
-
-
- }catch(PDOException $e){
-
- //例外がスローされた場合、トランザクションは失敗し、トランザクションはロールバックされます
- $pdo ->rollback();
-
- //例外情報を出力します
- echo $e->getCode().'-----'.$e->getMessage();
-
- $pdo = null;
-
- }
-
-
- ?>
コードをコピー
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31