PHPにおけるPDOの取引分析

1532 ワード

この例ではPHPにおけるPDOのトランザクションを解析した.皆さんの参考にしてください.具体的には以下の通りです.
トランザクションには、原子性、一貫性、独立性、持続性の4つの特性があります.
すべてのデータベースがトランザクションをサポートしているわけではありません.PDOは、トランザクションを実行できるデータベースにトランザクションサポートを提供します.
トランザクションを構成するには、次の点に注意してください.
1、PDOの自動提出を閉じる;

$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false);


2、一つの事務を開くために必要な方法;

$pdo->beginTransaction(); //       
$pdo->commit(); //     
$pdo->rollback(); //     


3、一般取引はtryで実行されます...catch...文では、トランザクションが失敗した場合にcatchコードセグメントが実行されます.

beginTransaction(); //       
  $row = null;
  $row = $pdo->exec("xxx"); //       SQL
  if (!$row)
    throw new PDOException('         '); //               
  $row = $pdo->exec("xxx"); //       SQL
  if (!$row)
    throw new PDOException('         ');
  $pdo->commit();
} catch (PDOException $e) {
  $pdo->rollback(); //     ,    
  exit($e->getMessage());
}
?>


トランザクションのSQL文でエラーが発生した場合、すべてのSQLは実行されません.すべてのSQLにエラーがない場合は、実行をコミットします.
PHPに関する内容についてもっと兴味のある読者は、「PHPベースpdo操作データベーステクニック総括」、「PHP演算と演算子用法総括」、「PHPネットワークプログラミングテクニック総括」、「PHP基本文法入門教程」、「php操作officeドキュメントテクニック総括(word,excel,access,pptを含む)」、「php日付と时间用法総括」、「phpオブジェクト向けプログラム設計入門チュートリアル」、「php文字列(string)用法総括」、「php+mysqlデータベース操作入門チュートリアル」および「php一般データベース操作テクニック要約」
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.