In PHP development, how can the use of transactions, commit, and rollback functions enhance data integrity and error handling within the code?

Using transactions, commit, and rollback functions in PHP development can enhance data integrity and error handling by allowing you to group multiple SQL queries into a single transaction. This ensures that either all queries are executed successfully, or none are, preventing partial updates to the database. In case of an error, you can roll back the transaction to its initial state, maintaining data consistency.

// Start the transaction
$pdo->beginTransaction();

try {
    // SQL queries
    $pdo->query("INSERT INTO table1 VALUES (...)");

    $pdo->query("UPDATE table2 SET column = ...");

    // Commit the transaction if all queries are successful
    $pdo->commit();
} catch (Exception $e) {
    // Rollback the transaction in case of an error
    $pdo->rollBack();
    echo "Transaction failed: " . $e->getMessage();
}