Добивање на резултат при 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 - работниците потрошени
?>