What are the best practices for transitioning from a for loop to a while loop when fetching data from a database using PDO in PHP?

When transitioning from a for loop to a while loop when fetching data from a database using PDO in PHP, it is important to ensure that the loop structure is properly set up to iterate over the fetched data. While a for loop is suitable for iterating over a known number of iterations, a while loop is more appropriate for iterating over a result set from a database query until all rows have been fetched. To make this transition, you can use the fetch() method of the PDOStatement object within the while loop to fetch each row of data.

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

// Prepare a SQL query
$stmt = $pdo->prepare("SELECT * FROM users");

// Execute the query
$stmt->execute();

// Fetch and iterate over the result set using a while loop
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    // Process each row of data
    echo $row['username'] . "<br>";
}