mysql_fetch_array

(PHP 4, PHP 5)

mysql_fetch_arrayRecupera una fila de resultados como un array asociativo, un array numérico o como ambos

Advertencia

Esta extensión fue declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0. En su lugar debería utilzarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y sus P+F relacionadas para más información. Alternatives to this function include:

Descripción

mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] ) : array

Devuelve un array que corresponde a la fila recuperada y mueve el puntero de datos interno hacia delante.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

result_type

El tipo de array que va a ser devuelto. Es una constante y puede tomar los siguientes valores: MYSQL_ASSOC, MYSQL_NUM, y MYSQL_BOTH.

Valores devueltos

Devuelve un array de cadenas que corresponde a la fila recuperada, o FALSE si no hay más filas. El tipo del array retornado depende de como esté definido result_type. Al utilizar MYSQL_BOTH (predeterminado), se obtendrá un array con ambos índices: asociativos y numéricos. Al utilizar MYSQL_ASSOC, se obtienen solo los índices asociativos (tal como funciona mysql_fetch_assoc()). Al utilizar MYSQL_NUM, se obtienen solo los índices numéricos (tal como funciona mysql_fetch_row()).

Si dos o más columnas del resultado tienen el mismo nombre de campo, la última columna tomará precedencia. Para acceder a la/s otra/s columna/s con el mismo nombre, se deberá usar el índice numérico de la columna o crear un alias para la columna. Para las columnas con alias, no se puede acceder al contenido con el nombre de la columna original.

Ejemplos

Ejemplo #1 Consulta con nombres de campos duplicados con alias

SELECT tabla1.campo AS foo, tabla2.campo AS bar FROM tabla1, tabla2

Ejemplo #2 mysql_fetch_array() con MYSQL_NUM

<?php
mysql_connect
("localhost""usuario_mysql""contraseña_mysql") or
    die(
"No se pudo conectar: " mysql_error());
mysql_select_db("mibd");

$resultado mysql_query("SELECT id, nombre FROM mitabla");

while (
$fila mysql_fetch_array($resultadoMYSQL_NUM)) {
    
printf("ID: %s  Nombre: %s"$fila[0], $fila[1]);  
}

mysql_free_result($resultado);
?>

Ejemplo #3 mysql_fetch_array() con MYSQL_ASSOC

<?php
mysql_connect
("localhost""usuario_mysql""contraseña_mysql") or
    die(
"No se pudo conectar: " mysql_error());
mysql_select_db("mibd");

$resultado mysql_query("SELECT id, nombre FROM mitabla");

while (
$fila mysql_fetch_array($resultadoMYSQL_ASSOC)) {
    
printf("ID: %s  Nombre: %s"$fila["id"], $fila["nombre"]);
}

mysql_free_result($resultado);
?>

Ejemplo #4 mysql_fetch_array() con MYSQL_BOTH

<?php
mysql_connect
("localhost""usuario_mysql""contraseña_mysql") or
    die(
"No se pudo conectar: " mysql_error());
mysql_select_db("mibd");

$resultado mysql_query("SELECT id, nombre FROM mitabla");

while (
$fila mysql_fetch_array($resultadoMYSQL_BOTH)) {
    
printf ("ID: %s  Nombre: %s"$fila[0], $fila["nombre"]);
}

mysql_free_result($resultado);
?>

Notas

Nota: Rendimiento

Una cosa importante a tener en cuenta es que el uso de mysql_fetch_array() no es significativamente más lento que el uso de mysql_fetch_row(), aunque provee un valor añadido considerable.

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor NULL de PHP.

Ver también