W tym samouczku dowiemy się, jak korzystać z funkcji MySQLI_Fetch_Array w PHP. Ta funkcja pozwala nam pobrać wiersze z bazy danych MySQL i przechowywać je jako tablicę PHP. Funkcja umożliwia przechowywanie wartości jako tablicy asocjacyjnej, tablicy numerycznej lub kombinacji obu. Następnie możesz manipulować tablicą jak zwykle. Zanurzmy się w środku.
Składnia funkcji
Poniższy fragment pokazuje składnię proceduralną dla funkcji MySQLI_Fetch_Array:
mysqli_fetch_array (mysqli_result $ wynik, int $ tryb = mysqli_both): tablica | null | false
Parametry funkcji są takie jak pokazano:
- Wynik - ten parametr pozwala określić obiekt mysql_result zwrócony przez mysqli_query (), mysqli_store_result (), mysqli_stmt_get_result () lub mysqli_use_result () funkcje.
- Tryb - parametr trybu definiuje rodzaj tablicy używanej do przechowywania wynikowych wartości. Zaakceptowane wartości obejmują:
- Mysqli_Assoc - tablica asocjacyjna.
- Mysqli_num - tablica numeryczna.
- Mysqli_both - połączenie tablicy asocjacyjnej i numerycznej.
Funkcja zwróci tablicę z pobieranymi wierszami. Jeśli nie ma pobieranych wierszy, funkcja zwraca zerową lub fałsz w sprawie awarii.
Przykładowe użycie
Omówmy przykład użycia funkcji mysqli_fetch_array (). Zacznij od utworzenia przykładowej bazy danych, tabeli i danych, jak pokazano w pytaniu poniżej:
Utwórz bazę danych SRC;
Użyj SRC;
Tabela upuszcza, jeśli istnieje STACK_Mapping;
Utwórz tabelę Stack_mapping (
ID Int Auto_increment Key podstawowy,
Server_name varchar (50) nie null,
Adres varchar (100) nie null,
Instalowane_wersja Varchar (50),
Tool_id int
);
Wstaw do STACK_Mapping (nazwa_ Server, Adres, Instalowane_version, Tool_id)
Wartości („SQL Server”, „LocalHost: 1433”, '15.0 ', 1),
(„ElasticSearch”, „Localhost: 9200”, „8.4 ', 2),
(„Redis”, „Localhost: 6379”, „6.0 ', 3),
(„Postgresql”, „LocalHost: 5432”, '14.5 ', 4),
(„Mysql”, „Localhost: 3306”, „8.0 ', null);
Powstała tabela jest jak pokazana:
Poniższy przykład pokazuje, jak używać funkcji php mysqli_fetch_array, aby zwrócić wiersze z powyższej tabeli jako tablica.
Zacznij od utworzenia pliku PHP:
$ Touch Fetch.php
Edytuj plik:
$ vim fetch.php
Dodaj kod, jak pokazano:
$ mysqli = mysqli_connect („localHost: 3306”, „root”, „”, „src”);
if (mysqli_connect_errno ())
die („nie można się połączyć”);
$ query = "Wybierz Server_name, adres z Stack_Mapping";
$ wynik = mysqli_query ($ mysqli, $ query);
while ($ row = mysqli_fetch_array ($ wynik, mysqli_assoc))
printf („%s (%s) \ n”, $ row [„Server_name”], $ row [„adres”]);
mysqli_free_result ($ wynik);
?>
Na koniec uruchom skrypt z PHP:
PHP Fetch.php
Powinno to zwrócić wiersze jako tablicę asocjacyjną, znaną również jako słownik w innych językach programowania.
Uwaga: Uwaga Uzyskamy dostęp do wartości słownika za pomocą nazwy wiersza (klucz słownika).
Przykładem jest to, jak pokazano:
SQL Server (LocalHost: 1433)
ElasticSearch (LocalHost: 9200)
Redis (Localhost: 6379)
PostgreSQL (LocalHost: 5432)
MySQL (LocalHost: 3306)
Aby zwrócić wartości jako tablicę numeryczną, możemy użyć zapytania:
$ mysqli = mysqli_connect („localHost: 3306”, „root”, „”, „src”);
if (mysqli_connect_errno ())
die („nie można się połączyć”);
$ query = "Wybierz Server_name, adres z Stack_Mapping";
$ wynik = mysqli_query ($ mysqli, $ query);
while ($ row = mysqli_fetch_array ($ wynik, mysqli_num))
printf („%s (%s) \ n”, $ wiersz [0], $ wiersz [1]);
mysqli_free_result ($ wynik);
?>
Podobnie powyższy kod powinien zwrócić wiersze jako:
SQL Server (LocalHost: 1433)
ElasticSearch (LocalHost: 9200)
Redis (Localhost: 6379)
PostgreSQL (LocalHost: 5432)
MySQL (LocalHost: 3306)
Wreszcie, aby uzyskać wyniki jako tablice asocjacyjne, jak i numeryczne.
$ mysqli = mysqli_connect („localHost: 3306”, „root”, „”, „src”);
if (mysqli_connect_errno ())
die („nie można się połączyć”);
$ query = "Wybierz Server_name, adres z Stack_Mapping";
$ wynik = mysqli_query ($ mysqli, $ query);
while ($ row = mysqli_fetch_array ($ wynik, mysqli_both))
printf („%s (%s) \ n”, $ row [0], $ row [„adres”]);
mysqli_free_result ($ wynik);
?>
Wniosek
W tym artykule nauczyłeś się, jak korzystać z funkcji mysqli_fetch_array w PHP, aby pobrać wiersze z bazy danych jako tablica.