「PHPとデータベース - PDO」の版間の差分

ナビゲーションに移動 検索に移動
533行目: 533行目:
       $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
       $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   
   
      // トランザクション開始
       $dbh->beginTransaction();
       $dbh->beginTransaction();
      // SQLクエリの実行
       $dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
       $dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
       $dbh->exec("insert into salarychange (id, amount, changedate) values (23, 50000, NOW())");
       $dbh->exec("insert into salarychange (id, amount, changedate) values (23, 50000, NOW())");
      // 正常に実行できた場合はコミット
       $dbh->commit();
       $dbh->commit();
     }
     }
     catch(Exception $e)
     catch(Exception $e)
     {
     {
       $dbh->rollBack();
       // エラーが発生した場合はロールバック
      if ($dbh->inTransaction()) {
          $dbh->rollBack();
      }
       echo "失敗しました。" . $e->getMessage();
       echo "失敗しました。" . $e->getMessage();
     }
     }

案内メニュー