Mysqli_fetch_assoc

Mysqli_fetch_assoc

I denne opplæringen lærer vi hvordan du bruker MySQLI_FETCH_ASSOC -funksjonen i PHP for å hente neste rad i et resultatsett som et assosiativt utvalg.

I PHP refererer en assosiativ matrise til en matrise som bruker en navngitt nøkkel og respektive verdi. På andre programmeringsspråk er assosiative matriser også kjent som ordbøker.

Funksjonssyntaks

Følgende viser syntaks for mysqli_fetch_assoc -funksjonen:

public mysqli_result :: fetch_assoc (): matrise | null | falsk

Funksjonen henter en rad med data fra et gitt resultatsett og returnerer den som et assosiativt utvalg. Funksjonen vil returnere neste rad i resultatet som er satt på hver påfølgende funksjonsanrop.

Hvis det ikke er flere rader å hente, vil funksjonen gi en nullverdi.

MERK: Nøklene til assosiative matriser er case-sensitive. Derfor er det bra å referere til en eksisterende nøkkel fra det assosiative matrisen.

Eksempelbruk

La oss illustrere med en nøyaktig database hvordan vi best kan bruke mysqli_fetch_assoc -funksjonen.

Tenk på tabellen og eksempeldata vist nedenfor:

opprette database SRC;
Bruk SRC;
slippbord hvis eksisterer stack_mapping;
Lag tabell Stack_Mapping (
id int auto_increment primærnøkkel,
server_name varchar (50) ikke null,
adresse varchar (100) ikke null,
installert_versjon varchar (50),
verktøy_id int
);
Sett inn i stack_mapping (server_navn, adresse, installert_versjon, verktøy_id)
Verdier ('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);

Hente bordrader som et assosiativt utvalg

Følgende eksempel viser bruk av mysqli_fetch_assoc -funksjonen for å hente neste rad i et resultatsett som et assosiativt utvalg.

// Koble til Localhost: 3306 som rotbruker med et tomt passord (måldatabase: SRC)
$ conn = mysqli_connect ("localhost", "root", "", "src");
// målspørsmål
$ spørring = "velg * fra stack_mapping ordre av verktøy_id";
$ resultat = mysqli_query ($ conn, $ spørring);
// sløyfe over hvert element i resultatsettet som en assosiert matrise
mens ($ rad = mysqli_fetch_assoc ($ resultat))
printf ("%s (%s) \ n", $ rad ["server_name"], $ rad ["adresse"], $ rad ["installert_versjon"], $ rad ["tool_id"]);

Når vi har kjørt koden over, bør vi få utdataene som vist:

Mysql (localhost: 3306)
SQL Server (LocalHost: 1433)
Elasticsearch (localhost: 9200)
Redis (Localhost: 6379)
PostgreSQL (LocalHost: 5432)

I skriptet over starter vi med å lage et tilkoblingsobjekt til MySQL -serveren ved å bruke den oppgitte legitimasjonen.

Deretter oppretter vi spørringen vi ønsker å utføre på måltabellen. I vårt eksempel velger vi alle kolonnene fra Stack_Mapping -tabellen bestilt av verktøyet_id -kolonnen.

Deretter bruker vi MySQLI_Query -funksjonen for å utføre spørringen i databasen og lagre resultatet som er satt til $ Resultatvariabelen.

Til slutt itererer vi over hvert element i resultatsettet ved hjelp av mysqli_fetch_assoc () -funksjonen som en assosiativ matrise.

Vi skriver deretter ut hvert element for de spesifiserte tastene til matrisen.

Konklusjon

I dette innlegget diskuterte vi det grunnleggende om å jobbe med MySQLI_FETCH_ASSOC -funksjonen i PHP for å hente neste rad i resultatsettet som en ordbok.

Takk for at du leste!!