>백엔드 개발 >PHP 문제 >PHP에서 PDO::beginTransaction을 올바르게 사용하는 방법

PHP에서 PDO::beginTransaction을 올바르게 사용하는 방법

autoload
autoload원래의
2021-04-26 09:52:131723검색

트랜잭션은 SQL에서 흔히 발생하는 작업입니다. 일상적인 작업에서는 데이터베이스를 추가, 삭제, 수정해야 하는 경우가 많습니다. 이런 큰 오류를 피하기 위해서는 필연적으로 문제가 발생하게 됩니다. , PHPbeginTransaction 함수를 제공합니다. 이 문서에서는 살펴보겠습니다. SQL中较为常见的使用操作,在日常操作中,我们经常需要对数据库进行增、删、改,对数据进行操作难免会出现问题,为避免这种较大的错误,PHP提供beginTransaction函数,本文就带大家一起来看一看。

首先,我们来看一看beginTransaction()函数的语法:

beginTransaction (   )
  • 关闭自动提交模式。自动提交模式被关闭的同时,通过 PDO 对象实例对数据库做出的更改直到调用 PDO::commit() 结束事务才被提交。调用 PDO::rollBack() 将回滚对数据库做出的更改并将数据库连接返回到自动提交模式。 

  • 返回值:成功时返回 true, 或者在失败时返回 false

    먼저 beginTransaction() 함수의 구문을 살펴보겠습니다.
<?php
$servername = "localhost";
$username = "root";
$password = "root123456";
$dbname   = "my_database";
 
try {
    $pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    echo "连接成功"."<br>"; 
    $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
    }
catch(PDOException $e)
{
    $pdo->rollBack();
    echo $e->getMessage();
}
?>
  • Turn off 자동 커밋 모드. 자동 커밋 모드가 꺼진 경우 PDO::commit() 가 호출되어 종료될 때까지 PDO 객체 인스턴스를 통해 데이터베이스에 적용된 변경 사항은 커밋되지 않습니다. 거래. PDO::rollBack() 을 호출하면 데이터베이스에 대한 변경 사항을 롤백하고 데이터베이스 연결을 자동 커밋 모드로 되돌립니다.


  • 반환 값: 성공 시 true가 반환되고, 실패 시 false가 반환됩니다.

    코드 예시: 1. 데이터베이스 연결 부분:

        $pdo->beginTransaction();
    /* 在全有或全无的基础上插入多行记录(要么全部插入,要么全部不插入) */
        $sql = "INSERT INTO fate (id, name, age)VALUES (10,&#39;王五&#39;,27)";
        $sth = $pdo->exec($sql);
    
    /* 提交更改 */
    $pdo->commit();
    /* 现在数据库连接返回到自动提交模式 */
    2. 오픈 트랜잭션: rrreee추천: "2021년 PHP 면접 질문 요약(모음)

    🎜" 🎜 🎜php 동영상 튜토리얼🎜🎜》🎜🎜

위 내용은 PHP에서 PDO::beginTransaction을 올바르게 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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