Question: So I had some `mysql` code that I've begun to rewrite into `mysqli` and have run into a problem with the query, and that is when I execute it, I only receive one set of results instead of the several that I know it should be. This is the new code I am using and was wondering whether anyone had any ideas on where I'm going wrong?

**code:**

```
<?php

if ($result = $link->query("SELECT SUM(step_count.steps) as total, leagues.league_id, leagues.league_name
        FROM step_count INNER JOIN logins on step_count.unique_id = logins.unique_id INNER JOIN leagues ON leagues.unique_id = logins.unique_id GROUP BY leagues.league_id, leagues.league_name ORDER BY `total`
        DESC LIMIT 100 ", MYSQLI_USE_RESULT))
        $rank = 1; {

            $row = $result->fetch_assoc();
            $result->close();

        }

?>

<tr>
    <td>
        <?php echo $rank++; ?>
    </td>
    <td>
        <?php echo $row['league_name']; ?>
    </td>
    <td>
        <?php echo $row['total']; ?>
    </td>
</tr>

</table>

<?php

mysqli_close($link);

?>

```

Answer: 
you have to use a while loop

```
while($row = $result->fetch_assoc()){ ?>
   <tr>
    <td><?php echo $rank++; ?></td>
    <td><?php echo $row['league_name']; ?></td>
    <td><?php echo $row['total']; ?></td>
   </tr>
  <?php } ?>

```
try like this.

```
while($row =  $result->fetch_assoc()){ ?>
<tr>
 <td><?php echo $rank++; ?></td>
 <td><?php echo $row->league_name; ?></td>
 <td><?php echo $row->total; ?></td>
 </tr>
<?php } ?>

```