How can the PHP code provided be optimized to simplify the process of inserting data from one table into another more efficiently?

The PHP code can be optimized by using a SQL query to directly insert data from one table into another without the need for fetching and looping through each row individually. This can be achieved by using the INSERT INTO...SELECT statement in SQL.

<?php
// Connect to the database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Insert data from one table into another
$sql = "INSERT INTO table2 (column1, column2, column3)
        SELECT column1, column2, column3
        FROM table1";

if ($conn->query($sql) === TRUE) {
    echo "Data inserted successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

// Close the connection
$conn->close();
?>