What are the best practices for iterating through query results in PHP to avoid losing data or encountering unexpected behavior?

When iterating through query results in PHP, it's important to use the appropriate fetch method based on the type of query (e.g., SELECT, INSERT, UPDATE). For SELECT queries, use fetch_assoc() or fetch_array() to retrieve data row by row. Make sure to check for the end of the result set using while loops and avoid using nested loops to prevent unexpected behavior or data loss.

// Example of iterating through query results in PHP to avoid unexpected behavior
$result = $mysqli->query("SELECT * FROM users");

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        // Process each row of data here
        echo $row['username'] . "<br>";
    }
} else {
    echo "No results found.";
}