>백엔드 개발 >PHP 튜토리얼 >PDO::beginTransaction 사용법에 대한 자세한 설명

PDO::beginTransaction 사용법에 대한 자세한 설명

藏色散人
藏色散人원래의
2019-04-10 13:11:253042검색

이 글은 주로 PDO::beginTransaction의 자세한 사용법을 소개합니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

PDO::beginTransaction 사용법에 대한 자세한 설명

PDO::beginTransaction(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::beginTransaction이 트랜잭션을 시작합니다.

문법 설명:

PDO::beginTransaction ( void ) : bool

자동 제출 모드를 끕니다. 자동 커밋 모드가 꺼지면 PDO 객체 인스턴스를 통해 데이터베이스에 적용된 변경 사항은 PDO::commit()가 호출되어 트랜잭션을 종료할 때까지 커밋되지 않습니다. PDO::rollBack()을 호출하면 데이터베이스에 대한 변경 사항을 롤백하고 데이터베이스 연결을 자동 커밋 모드로 되돌립니다.

MySQL을 포함한 일부 데이터베이스는 DROP TABLE 또는 CREATE TABLE과 같은 DDL 문을 실행할 때 자동으로 암시적 트랜잭션을 커밋합니다. 암시적으로 커밋하면 이 트랜잭션 범위 내에서 다른 변경 사항을 롤백할 수 없습니다.

반환 값:

성공하면 TRUE를 반환하고, 실패하면 FALSE를 반환합니다.

코드 예

거래 롤백#🎜🎜 #

다음 예에서는 트랜잭션을 시작하고 이 변경 사항을 롤백하기 전에 데이터베이스를 수정하는 두 개의 문을 실행합니다. 그러나 MySQL에서는 DROP TABLE 문이 자동으로 트랜잭션을 커밋하므로 이 트랜잭션의 변경 사항은 롤백되지 않습니다.

<?php
/* 开始一个事务,关闭自动提交 */
$dbh->beginTransaction();
/*  更改数据库架构及数据 */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = &#39;hamburger&#39;");
/*  识别出错误并回滚更改 */
$dbh->rollBack();
/* 数据库连接现在返回到自动提交模式 */
?>

관련 추천: "

PHP 튜토리얼"

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

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