# Получение результата при SQL запросе в PHP

В предыдущем уроке мы сделали тестовый код. Напомню его существенную часть, выполняющую запрос к базе:

`<?php $query = 'SELECT * FROM users'; $res = mysqli_query($link, $query) or die(mysqli_error($link)); var_dump($res); ?>`

Как вы видите, после того, как произойдет запрос к базе, в переменной `$res` будет лежать результат этого действия. Однако лежит он не в той форме, которая нам нужна в PHP, а в той форме, в которой его прислала нам база.

Для того, чтобы получить результат в привычной нам форме, необходимо воспользоваться функцией `mysqli_fetch_assoc`, извлекающей из результата одну строку.

Давайте попробуем:

`<?php $row = mysqli_fetch_assoc($res); var_dump($row); ?>`

В результате `var_dump` выведет массив с первым работником:

`<?php ['id' => 1, 'name' => 'user1', 'age' => 23, 'salary' => 400] ?>`

При этом из переменной `$res` первый работник исчезнет, и следующий вызов `mysqli_fetch_assoc` получит уже следующего работника.

И так можно можно вызывать нашу функцию до тех пор, пока работники не закончатся. Как только это произойдет, то следующий вызов функции вернет `false`.

Давайте попробуем:

`<?php $row1 = mysqli_fetch_assoc($res); var_dump($row1); // работник номер 1 $row2 = mysqli_fetch_assoc($res); var_dump($row2); // работник номер 2 $row3 = mysqli_fetch_assoc($res); var_dump($row3); // работник номер 3 $row4 = mysqli_fetch_assoc($res); var_dump($row4); // работник номер 4 $row5 = mysqli_fetch_assoc($res); var_dump($row5); // работник номер 5 $row6 = mysqli_fetch_assoc($res); var_dump($row6); // работник номер 6 $row7 = mysqli_fetch_assoc($res); var_dump($row7); // выведет NULL - работники кончились ?>`
←→
↑