How can PHP code be optimized for saving data in multiple tables efficiently?
To optimize PHP code for saving data in multiple tables efficiently, you can use transactions to ensure that all database operations are completed successfully or rolled back if an error occurs. This helps maintain data integrity and prevents partial updates across tables. Additionally, you can use prepared statements to prevent SQL injection attacks and improve performance by reusing query execution plans.
<?php
// Establish database connection
$pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");
// Begin transaction
$pdo->beginTransaction();
try {
// Insert data into first table
$stmt1 = $pdo->prepare("INSERT INTO table1 (column1, column2) VALUES (?, ?)");
$stmt1->execute([$value1, $value2]);
// Insert data into second table
$stmt2 = $pdo->prepare("INSERT INTO table2 (column3, column4) VALUES (?, ?)");
$stmt2->execute([$value3, $value4]);
// Commit transaction
$pdo->commit();
echo "Data saved successfully in multiple tables";
} catch (Exception $e) {
// Rollback transaction if an error occurs
$pdo->rollBack();
echo "Error saving data: " . $e->getMessage();
}
?>