What are the best practices for handling multiple database queries within a loop in PHP?

When handling multiple database queries within a loop in PHP, it is important to efficiently manage the database connections to avoid performance issues. One common approach is to open the database connection before the loop, execute the queries within the loop, and then close the connection after the loop to prevent resource leaks. Additionally, using prepared statements can help prevent SQL injection attacks and improve query performance.

// Open the database connection
$connection = new mysqli("localhost", "username", "password", "database");

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

// Loop through the queries
for ($i = 0; $i < 10; $i++) {
    $query = "SELECT * FROM table WHERE id = $i";
    $result = $connection->query($query);

    // Process the query results
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            // Process each row
        }
    } else {
        echo "No results found for id $i";
    }

    // Free the result set
    $result->free();
}

// Close the database connection
$connection->close();