Latest web development tutorials
×

PHP 코스

PHP 코스 PHP 간략한 소개 PHP 설치 PHP 문법 PHP 변수 PHP echo/print PHP 데이터 유형 PHP 상수 PHP 현 PHP 운영자 PHP If...Else PHP Switch PHP 배열 PHP 배열을 정렬 PHP 자동 전역 PHP While 순환 PHP For 순환 PHP 기능 PHP 매직 변수 PHP 네임 스페이스 PHP 객체 지향

PHP 형태

PHP 형태 PHP 폼 인증 PHP 형태 - 필수 입력 사항 PHP 형태 - 확인 이메일 및 URL PHP 완전한 형태의 인스턴스 PHP $_GET 변수 PHP $_POST 변수

PHP 고급 자습서

PHP 다차원 배열 PHP 날짜 PHP 포함 PHP 파일 PHP 파일 업로드 PHP Cookie PHP Session PHP E-mail PHP 보안 E-mail PHP Error PHP Exception PHP 필터 PHP 고급 필터 PHP JSON

PHP 7 새로운 기능

PHP 7 새로운 기능

PHP 데이터베이스

PHP MySQL 간략한 소개 PHP MySQL 연결 PHP MySQL 데이터베이스 만들기 PHP MySQL 데이터 테이블 만들기 PHP MySQL 데이터를 삽입 PHP MySQL 여러 데이터를 삽입 PHP MySQL 문 준비 PHP MySQL 데이터 읽기 PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX 간략한 소개 AJAX PHP AJAX 데이터베이스 AJAX XML AJAX 실시간 검색 AJAX RSS Reader AJAX 투표

PHP 참조 설명서

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP 이미지 처리 PHP RESTful

PHP PDO 업무 및 자동 위탁

PHP PDO 참조 설명서 PHP PDO 참조 설명서

이제 PDO 쿼리의 시작 전에 갔다 통해 먼저 PDO가 업무를 관리하는 방법을 이해해야합니다 연결되어 있습니다.

트랜잭션 지원 네 가지 속성 (ACID) :

  • 원 자성 (자성)
  • 일관성 (일관성)
  • 절연 (절연)
  • 영구 (내구성)

더 간단 오퍼레이션은 트랜잭션에도 단계적 구현을 ​​수행 할뿐만 아니라 보안 데이터베이스에 적용하고, 다른 연결 때때로 간섭 제출하지 않음을 보장하기 위해.

처리 동작은 자동으로 쉽게 스크립트에서 에러를 취급 할 수있는 (아직 제출되지 가정) 요청이 취소 될 수있다.

트랜잭션은 일반적으로 최대 변경 "저축"의 숫자로 수행하고 효과 구현에 오는 것이 허용된다 그렇게 이점이 효율이 크게 변경 될 수 제공하는 것이다.

즉, 트랜잭션 스크립트가 신속하고 잠재적으로 더 강력 할 수있다 (당신은 여전히 ​​그 이익을 거둘 올바르게 사용해야합니다).

불행히도, 모든 데이터베이스는 트랜잭션을 지원하므로 먼저 연결을 열 때, PDO는 소위 "자동 커밋"동작 모드를 필요로합니다.

자동 커밋 모드는 데이터베이스가 아니, 트랜잭션을 지원하지 않는 경우 데이터베이스를 지원하는 경우, 각 쿼리 실행이, 자신의 암시 적 트랜잭션을 갖는다는 것을 의미한다.

당신이 거래를해야하는 경우에는 시작하는 PDO :: 들어 BeginTransaction () 메소드를 사용해야합니다. 기본 드라이버 트랜잭션을 지원하지 않는 경우, 예외가 발생 PDOException (오류없이 처리 설정 어떤 종류의, 이것은 심각한 오류 상태 임).

트랜잭션을 사용할 수 PDO되면 :: 커밋 () 또는 PDO :: 롤백 () 트랜잭션 코드에 따라 완료 성공적으로 실행됩니다.

참고 PDO 여부만을 드라이버 계층 검사에서 트랜잭션 처리 능력. 몇몇 실행 조건이 트랜잭션을 사용할 수없는 것을 의미하고, 데이터베이스 서비스 트랜잭션을 시작하기위한 요청을 수락하면, PDO :: 들어 BeginTransaction ()은 여전히 ​​TRUE없이 에러를 리턴한다. 트랜잭션을 사용하여 MySQL의 데이터베이스 MyISAM 테이블의 좋은 예입니다보십시오.

스크립트가 종료되거나 접속이 완료된 트랜잭션이 없으면 폐쇄하려 할 때, PDO 자동 트랜잭션 롤백 것이다. 명시 적으로 롤백 (rollback)가 데이터 보안을 보장하기 위해 수행되도록 한 다음 가정이, 어딘가 잘못, 트랜잭션을 커밋하지 않을 경우 -이 보안 조치는 스크립트가 예기치 않게 종료의 불일치를 방지하는 데 도움이됩니다.

주 : () 나중에 거래 PDO :: 들어 BeginTransaction을 시작, 자동 일어날 롤백 할 수 있습니다. 수동으로 거래를 시작하는 쿼리를 실행하면 필요한 경우 롤백 할 수 없습니다, 있도록 PDO는 알 수 없습니다.

트랜잭션에서 일괄 처리를 실행 :

다음 예에서, 23 인 ID를 할당, 새 직원에 대한 항목의 집합을 만들 가정합니다. 등록 대상자의 기본 데이터 이외에뿐 아니라 자신의 연봉을 기록 할 필요가있다.

두 업데이트가 매우 간단하지만, PDO :: 들어 BeginTransaction () 및 PDO :: 커밋 () 호출을 닫아 완료, 그 변경하기 전에, 다른 사람들이 이러한 변경 사항을 볼 수 없습니다 확보 할 수있다.

오류가 발생하면, 캐치는 트랜잭션이 개시로부터 압연 이후의 모든 변경을 차단하고 에러 메시지를 출력한다.

<?php
try {
  $dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2', 
      array(PDO::ATTR_PERSISTENT => true));
  echo "Connected\n";
} catch (Exception $e) {
  die("Unable to connect: " . $e->getMessage());
}

try {  
  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $dbh->beginTransaction();
  $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->commit();
  
} catch (Exception $e) {
  $dbh->rollBack();
  echo "Failed: " . $e->getMessage();
}
?>

트랜잭션의 변화에 ​​한정되지 않고, 그 정보를 사용하여 더 많은 변경 및 쿼리를 작성하여 데이터를 추출하기 위해 복잡한 쿼리를 실행할 수 있지만, 트랜잭션이 활성화되었을 때, 사용자가 다른 사람이 진행중인 동작을 변경할 수 있도록 할 수있다.


PHP PDO 참조 설명서 PHP PDO 참조 설명서