>  기사  >  백엔드 개발  >  PHP PDO의 트랜잭션 처리에 대한 자세한 설명

PHP PDO의 트랜잭션 처리에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-07-12 15:56:161283검색

PHP DataObject(PDO) 확장은 PHP가 데이터베이스에 액세스할 수 있는 가볍고 일관된 인터페이스를 정의합니다.

PDO는 데이터 액세스 추상화 계층을 제공합니다. 즉, 어떤 데이터베이스를 사용하든 동일한 함수(메서드)를 사용하여 데이터를 쿼리하고 얻을 수 있습니다.

PDO는 PHP5.1과 함께 출시되었으며 PHP5.0의 PECL 확장에서도 사용할 수 있습니다. 이전 PHP 버전에서는 실행할 수 없습니다.

이 글은 주로 PHP에서 PDO의 트랜잭션 처리를 소개하고, 트랜잭션 처리를 위해 PDO를 사용하는 관련 기술을 분석하기 위한 예제 형식을 결합합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

이 글은 트랜잭션을 분석합니다. PHP의 PDO에 대한 예제를 다루고 있습니다. 참조를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

트랜잭션 처리에는 원자성, 일관성, 독립성 및 내구성이라는 네 가지 특성이 있습니다.

모든 데이터베이스가 트랜잭션 처리를 지원하는 것은 아닙니다. PDO는 트랜잭션 처리를 수행할 수 있는 데이터베이스에 대해 트랜잭션 지원을 제공합니다.

거래 처리 구성 시 참고 사항:

$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false);
2. 거래에 필요한 메서드를 엽니다.

$pdo->beginTransaction(); // 开启一个事务
$pdo->commit(); // 提交事务
$pdo->rollback(); // 回滚事务
3. ... catch... 문에서는 트랜잭션이 실패할 때 catch 코드 세그먼트가 실행됩니다.

<?php
try {
  $pdo->beginTransaction(); // 开启一个事务
  $row = null;
  $row = $pdo->exec("xxx"); // 执行第一个 SQL
  if (!$row)
    throw new PDOException(&#39;提示信息或执行动作&#39;); // 如出现异常提示信息或执行动作
  $row = $pdo->exec("xxx"); // 执行第二个 SQL
  if (!$row)
    throw new PDOException(&#39;提示信息或执行动作&#39;);
  $pdo->commit();
} catch (PDOException $e) {
  $pdo->rollback(); // 执行失败,事务回滚
  exit($e->getMessage());
}
?>
트랜잭션 내 SQL 문에 오류가 발생하면 모든 SQL이 실행되지 않습니다. 모든 SQL 문이 올바른 경우에만 실행을 위해 제출됩니다.

위 내용은 PHP PDO의 트랜잭션 처리에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.