PHP — Database Transactions
Welcome to PHP — Database Transactions in our PHP Complete Masterclass! Execute multi-step database changes atomically using PDO transactions with commit() and rollBack().
In PHP server-side web development, understanding Database Transactions is essential for building dynamic, secure, and data-driven web applications. PHP scripts execute on the web server and stream HTML/JSON output to the client browser.
- Master core PHP web mechanics behind Database Transactions
- Understand request/response lifecycle, superglobals, and server execution
- Write production-ready, type-safe, and secure PHP source code
- Avoid XSS vulnerability traps, SQL injections, and session state bugs
PHP powers modern content platforms, enterprise web portals, and microservice APIs. Mastering Database Transactions enables developers to handle forms, manage sessions, query databases via PDO, and build Laravel web apps.
<?php
declare(strict_types=1);
beginTransaction();
$pdo->exec("UPDATE accounts SET balance = balance - 100 WHERE id = 1");
$pdo->exec("UPDATE accounts SET balance = balance + 100 WHERE id = 2");
$pdo->commit();
echo "Transaction Committed!";
} catch (Exception $e) {
$pdo->rollBack();
echo "Transaction Failed: " . $e->getMessage();
}
?>
beginTransaction();
$pdo->exec("UPDATE accounts SET balance = balance - 100 WHERE id = 1");
$pdo->exec("UPDATE accounts SET balance = balance + 100 WHERE id = 2");
$pdo->commit();
echo "Transaction Committed!";
} catch (Exception $e) {
$pdo->rollBack();
echo "Transaction Failed: " . $e->getMessage();
}
?>
# Start local built-in server
php -S localhost:8000
# Open in Browser:
# http://localhost:8000/index.php
Script Executed Successfully.
| PHP Construct | Function & Purpose |
|---|---|
<?php | Opening PHP script delimiter tag required for server interpretation. |
Database | Core PHP keyword or feature used in this lesson. |
htmlspecialchars() | Escapes HTML characters to prevent Cross-Site Scripting (XSS) vulnerabilities. |
- Line 1:
<?phpopens PHP interpreter block on the web server. - Line 3: Executes core logic for Database Transactions.
- Line 5: Streams sanitized output to client browser.
- Forgetting to escape user input with
htmlspecialchars()leading to XSS vulnerabilities. - Sending output before
header()orsession_start()causing "Headers already sent" errors. - Failing to use PDO prepared statements leading to SQL injection security flaws.
Write a PHP script demonstrating Database Transactions. Run the local development server (php -S localhost:8000) and verify the browser response!
❓ Question: What is the primary purpose of Database Transactions in PHP?
Answer: It provides PHP server-side capabilities for beginTransaction(), building dynamic, secure, and data-driven web applications.
- Execute multi-step database changes atomically using PDO transactions with commit() and rollBack().
- Subtopics covered: beginTransaction() · commit() · rollBack() · ACID properties in PDO · Transaction error handling with try-catch
- Always test PHP scripts on local servers before deploying to production web environments.