mysql-fetch-array

mysql_fetch_array — Extrae la fila de resultado como una matriz asociativa, una matriz numérica o ambas

Descripción

array mysql_fetch_array ( int $id_resultado [, int $ tipo_de_resultado ] )

Devuelve una matriz que corresponde a la sentencia extraida, o falso si no quedan más filas.

mysql_fetch_array() es una versión extendida de mysql_fetch_row(). Además de guardar los datos en el índice numérico de la matriz, guarda también los datos en los índices asociativos, usando el nombre de campo como clave.

Si dos o más columnas del resultado tienen el mismo nombre de campo, la última columna toma la prioridad. Para acceder a la(s) otra(s) columna(s) con el mismo nombre, se debe escificar el indice numerico o definir un alias para la columna. En columnas con alias, usted no puede acceder al contenido con el nombre original de la columna (usando ‘field’ en este ejemplo)

Ejemplo 1350. Consulta con campos repetidos usando alias

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

La función mysql_fetch_array() no es significativemente mas lenta que mysql_fetch_row(), sin embargo tiene un valor añadido importante.

El segundo argumento opcional tipo_de_resultado en mysql_fetch_array() es una constante y puede tomar los siguientes valores: MYSQL_ASSOC, MYSQL_NUM, y MYSQL_BOTH. Esta caraterística fue agregada en PHP 3.0.7. MYSQL_BOTH

Usando MYSQL_BOTH, usted obtendrá una matrix con índices asociativos y numéricos. Usando MYSQL_ASSOC, usted solo tendrá índices asociativos (tal como funciona mysql_fetch_assoc()), usando MYSQL_NUM, solo obtendrá los índices numéricos (tal como si fuera mysql_fetch_row()).

nota: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.

nota: Esta funcion define campos NULL como valores PHP NULL.

Vea también mysql_fetch_row(), mysql_fetch_assoc(), mysql_data_seek(), y mysql_query().

mysql_fetch_array() con MYSQL_NUM

<?php
mysql_connect
("localhost", "mysql_user", "mysql_password") or
die(
"Could not connect: " . 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);
?>

mysql_fetch_array() con MYSQL_ASSOC

<?php
mysql_connect
("localhost", "mysql_user", "mysql_password") or
die(
"Could not connect: " . 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);
?>

mysql_fetch_array() con MYSQL_BOTH

<?php
mysql_connect
("localhost", "mysql_user", "mysql_password") or
die(
"Could not connect: " . 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);
?>