What is the suggested best practice for handling multiple inserts in PHP to avoid unnecessary database entries?
When handling multiple inserts in PHP, it is best practice to use transactions to ensure all inserts are either completed successfully or rolled back in case of an error. This helps avoid unnecessary database entries and maintains data integrity. By wrapping the insert statements within a transaction, you can ensure that all inserts are treated as a single unit of work.
<?php
// Establish database connection
$pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');
// Begin transaction
$pdo->beginTransaction();
try {
// Perform multiple inserts
$pdo->exec("INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')");
$pdo->exec("INSERT INTO table_name (column1, column2) VALUES ('value3', 'value4')");
// Commit transaction if all inserts are successful
$pdo->commit();
echo "All inserts successful!";
} catch (Exception $e) {
// Rollback transaction if any insert fails
$pdo->rollBack();
echo "Error: " . $e->getMessage();
}
?>