How can PHP developers streamline the process of querying and inserting data into multiple tables in a database to ensure data integrity and avoid duplication?

To streamline the process of querying and inserting data into multiple tables in a database, PHP developers can use transactions to ensure data integrity and avoid duplication. By wrapping the database operations in a transaction, developers can guarantee that either all operations are successful or none are committed, preventing partial updates and maintaining data consistency.

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

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

try {
    // Query and insert data into multiple tables
    $pdo->query("INSERT INTO table1 (column1, column2) VALUES ('value1', 'value2')");
    $pdo->query("INSERT INTO table2 (column3, column4) VALUES ('value3', 'value4')");

    // Commit transaction
    $pdo->commit();
} catch (PDOException $e) {
    // Rollback transaction in case of an error
    $pdo->rollBack();
    echo "Error: " . $e->getMessage();
}