What role does transaction management play in handling multiple inserts in PHP?

When handling multiple inserts in PHP, transaction management plays a crucial role in ensuring data integrity. By using transactions, you can group multiple insert statements into a single unit of work, which will either commit all changes if successful or rollback if any error occurs during the process. This helps maintain consistency in the database and prevents partial inserts in case of failures.

// Establish a database connection
$pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');

// Begin a transaction
$pdo->beginTransaction();

try {
    // Perform multiple insert statements
    $pdo->exec("INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')");
    $pdo->exec("INSERT INTO table_name (column1, column2) VALUES ('value3', 'value4')");
    
    // Commit the transaction if all inserts are successful
    $pdo->commit();
} catch (PDOException $e) {
    // Rollback the transaction if an error occurs
    $pdo->rollBack();
    echo "Error: " . $e->getMessage();
}