mysql_fetch_array

(PHP 3, PHP 4 , PHP 5)

mysql_fetch_array --  Skaber et resultat som et associeret array, et numerisk, eller begge dele.

Beskrivelse

array mysql_fetch_array ( resource result [, int result_type])

Returnerer et array, i henhold til de returnerede rækker, eller FALSE hvis der ikke er flere rækker

mysql_fetch_array() er en udvidet version af mysql_fetch_row(). I henhold til at gemme dataene i et numerisk array af resultat, skaber det samtidig et associeret array, i henhold til, felt navnene.

Hvis 2 eller flere kolonner af resultatet har samme felt navn, vil den sidste have forhåndsret. For at tilgå din andre kolonner med samme navn, er du nødsaget til at bruge det numeriske indeks, eller lave et alias for de kolonner. Ved kolonner med alias navne, kan du ikke tilgå dem med det rigtige navn (i dette eksempel er navnet 'field' brugt).

Eksempel 1. Forespørgsel, med alias kopierede felt navne

SELECT table1.field AS foo, table2.field AS bar FROM table1, table2

En vigtig ting at bemærke, er at brugen af mysql_fetch_array()ikke er væsentlig langsommere end mysql_fetch_row(), da det tildeler en vigtig tilføjet værdi.

Den anden valgfri parameter result_type i mysql_fetch_array() er en konstant, og kan indeholde en af følgende værdier: MYSQL_ASSOC, MYSQL_NUM, og MYSQL_BOTH. Denne mulighed er tilføjet i PHP 3.0.7. MYSQL_BOTH er standard parameter.

Ved at benytte MYSQL_BOTH, vil du få et array med både associationer og numerede arrays. Ved at benytte MYSQL_ASSOC, vil du kun få associative associative array (ligesom mysql_fetch_assoc() virker), bruger du MYSQL_NUM, får du kun nummerede arrays (ligesom mysql_fetch_row() virker).

Bemærk: Feltnavne returneret af denne funktion er case-sensitive.

Bemærk: Denne funktion sætter NULL felter til PHP NULL værdien.

Eksempel 2. mysql_fetch_array() med MYSQL_NUM

<?php
mysql_connect
("localhost", "mysql_user", "mysql_password") or
    die(
"Kunne ikke forbinde: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while (
$row = mysql_fetch_array($result, MYSQL_NUM)) {
    
printf("ID: %s  Name: %s", $row[0], $row[1]);  
}

mysql_free_result($result);
?>

Eksempel 3. mysql_fetch_array() med MYSQL_ASSOC

<?php
mysql_connect
("localhost", "mysql_user", "mysql_password") or
    die(
"Kunne ikke frobinde: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while (
$row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    
printf("ID: %s  Name: %s", $row["id"], $row["name"]);
}

mysql_free_result($result);
?>

Eksempel 4. mysql_fetch_array() med MYSQL_BOTH

<?php
mysql_connect
("localhost", "mysql_user", "mysql_password") or
    die(
"Kunne ikke forbinde: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while (
$row = mysql_fetch_array($result, MYSQL_BOTH)) {
    
printf ("ID: %s  Name: %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>

Se også mysql_fetch_row() og mysql_fetch_assoc().