La oss bryte ned forskjellene mellom `mysql_fetch_row` og` mysql_fetch_array` i php, sammen med årsakene til at du kan velge den ene fremfor den andre.
mysql_fetch_row
* Returnerer: En indeksert matrise. Hvert element i matrisen representerer en kolonne fra den hentede raden. Indeksene starter på 0.
* struktur:
`` php
$ rad =mysql_fetch_row ($ resultat);
ekko $ rad [0]; // Få tilgang til den første kolonnen
ekko $ rad [1]; // tilgang til den andre kolonnen
`` `
* Nøkkelpunkter:
* Passer når du bare trenger tilgang til kolonnene i raden ved hjelp av numeriske indekser.
* Forenkler kode hvis du kjenner rekkefølgen på kolonner i databasetabellen.
* Kan være litt raskere for å hente data, spesielt i trange løkker.
mysql_fetch_array
* Returnerer: En assosiativ matrise, en numerisk indeksert matrise eller begge deler. Du kan kontrollere dette ved å bruke det valgfrie `Resultat_type` -argumentet.
* struktur:
`` php
// assosiativ matrise
$ rad =mysql_fetch_array ($ resultat, mysql_assoc);
ekko $ rad ['Column_name']; // tilgang etter kolonneavn
// indeksert matrise
$ rad =mysql_fetch_array ($ resultat, mysql_num);
ekko $ rad [0]; // tilgang med numerisk indeks
// begge
$ rad =mysql_fetch_array ($ resultat, mysql_both);
ekko $ rad ['Column_name'];
ekko $ rad [0];
`` `
* Nøkkelpunkter:
* Tilbyr fleksibilitet. Velg hvilken type matrise som passer best for dine behov.
* Bruke `mysql_both` kan gjøre koden din mer lesbar, da du kan få tilgang til kolonner med navn eller indeks.
* Potensielt litt tregere enn `mysql_fetch_row` på grunn av ekstra overhead.
Når du skal bruke hver
* `mysql_fetch_row`:
* Når du vet nøyaktig kolonneordren og bare vil få tilgang til data ved hjelp av numeriske indekser.
* I situasjoner der ytelsen er kritisk, og du er sikker på at du kan administrere datatilgang med numeriske indekser.
* `mysql_fetch_array`:
* Når du trenger å få tilgang til data etter kolonnens navn for klarhet og vedlikeholdbarhet.
* Når du kanskje må veksle mellom tilgang til data etter navn og indeks.
Viktige merknader:
* Avskrevet: Både `mysql_fetch_row` og` mysql_fetch_array` er en del av den utdaterte `mysql` -utvidelsen i php. Den foretrukne tilnærmingen for å samhandle med MySQL er å bruke `mysqli` -utvidelsen eller PDO (PHP -dataobjekter). Disse gir flere funksjoner, sikkerhetsforbedringer og støtte for utarbeidede uttalelser.
* eksempel ved å bruke `mysqli`:
`` php
$ mysqli =new mysqli ("localhost", "brukernavn", "passord", "database");
$ resultat =$ mysqli-> spørring ("velg * fra din_table");
mens ($ rad =$ resultat-> fetch_assoc ()) {
ekko $ rad ['Column_name'];
}
$ Resultat-> Close ();
$ mysqli-> close ();
`` `
Gi meg beskjed hvis du vil ha en mer dyptgående forklaring på å bruke `mysqli` eller PDO-utvidelser!