PHP-de SQL sorag netijesini almak
Öňki sapakda biz synag koduny düzdük. Onuň maglumat bazasyna sorag ýerine ýetirýän esasy bölegini ýatladyp geçýärin:
<?php
$query = 'SELECT * FROM users';
$res = mysqli_query($link, $query) or die(mysqli_error($link));
var_dump($res);
?>
Görşüňiz ýaly, maglumat bazasyna sorag ýerine ýetirilenden soň, $res üýtgeýjisinde
bu hereketiň netijesi ýerleşýär. Şonda-da, ol biz PHP-de zerur bolan görnüşde däl,
eýsem biz ony maglumat bazasynyň iberen görnüşinde ýerleşýär.
Netijäni bizim üçin adat bolan görnüşde almak üçin, netijeden bir hatary çykarýan
mysqli_fetch_assoc funksiýasyny ulanmaly.
Geliň synap göreliň:
<?php
$row = mysqli_fetch_assoc($res);
var_dump($row);
?>
Netijede var_dump birinji işgäriň massiwini görkezer:
<?php
['id' => 1, 'name' => 'user1', 'age' => 23, 'salary' => 400]
?>
Şonuň bilen bir wagtda $res üýtgeýjisinden birinji işgär aýrylýar we indiki
mysqli_fetch_assoc çagyrylyşy artýndan gelen işgäri alar.
Işgärler gutarýança şeýlelikde funksiýamyzy çagyryp bilersiňiz.
Bu bolansoň, indiki funksiýa çagyrylyşy false gaýtarar.
Geliň synap göreliň:
<?php
$row1 = mysqli_fetch_assoc($res);
var_dump($row1); // işgär nomer 1
$row2 = mysqli_fetch_assoc($res);
var_dump($row2); // işgär nomer 2
$row3 = mysqli_fetch_assoc($res);
var_dump($row3); // işgär nomer 3
$row4 = mysqli_fetch_assoc($res);
var_dump($row4); // işgär nomer 4
$row5 = mysqli_fetch_assoc($res);
var_dump($row5); // işgär nomer 5
$row6 = mysqli_fetch_assoc($res);
var_dump($row6); // işgär nomer 6
$row7 = mysqli_fetch_assoc($res);
var_dump($row7); // NULL görkezer - işgärler gutardy
?>