PDO-транзакция в PHP: руководство по использованию транзакций в PDO

Транзакция PDO относится к использованию транзакций в расширении PHP PDO (объекты данных PHP) для операций с базой данных. Транзакции позволяют группировать несколько запросов к базе данных в одну логическую единицу, гарантируя, что либо все запросы будут успешными, либо ни один из них не будет применен. Это помогает поддерживать целостность и согласованность данных. Вот несколько методов, связанных с транзакциями PDO, а также примеры кода:

  1. Начать транзакцию:
    Чтобы начать транзакцию, вы можете использовать метод beginTransaction():
try {
    $pdo->beginTransaction();

    // Perform database operations

    $pdo->commit(); // Commit the transaction
} catch (PDOException $e) {
    $pdo->rollBack(); // Rollback the transaction on failure
    echo "Transaction failed: " . $e->getMessage();
}

<ол старт="2">

  • Зафиксировать транзакцию:
    Чтобы зафиксировать (применить) изменения, внесенные в транзакции, вы можете использовать метод commit():
  • $pdo->beginTransaction();
    try {
        // Perform database operations
    
        $pdo->commit(); // Commit the transaction
    } catch (PDOException $e) {
        $pdo->rollBack(); // Rollback the transaction on failure
        echo "Transaction failed: " . $e->getMessage();
    }
    1. Откат транзакции.
      Если во время транзакции произошла ошибка или вы хотите отменить внесенные в нее изменения, вы можете использовать метод rollBack():
    $pdo->beginTransaction();
    try {
        // Perform database operations
    
        $pdo->rollBack(); // Rollback the transaction
    } catch (PDOException $e) {
        echo "Rollback failed: " . $e->getMessage();
    }
    1. Проверка статуса транзакции.
      Вы можете использовать метод inTransaction(), чтобы проверить, активна ли транзакция в данный момент:
    if ($pdo->inTransaction()) {
        echo "A transaction is in progress.";
    } else {
        echo "No transaction is in progress.";
    }

    Это некоторые из основных методов, используемых для работы с транзакциями PDO в PHP.