mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assocRecupera una fila de resultados como un array asociativo

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_assoc ( resource $result ) : array

Devuelve un array asociativo que corresponde a la fila recuperada y mueve el puntero de datos interno hacia adelante. mysql_fetch_assoc() es equivalente a llamar a mysql_fetch_array() con MYSQL_ASSOC como segundo parámetro opcional. Únicamente devuelve un array asociativo.

Parámetros

result

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

Valores devueltos

Devuelve un array asociativo de strings que corresponde a la fila recuperada, o FALSE si no hay más filas disponibles.

Si dos o más columnas del resultado tienen los mismos nombres de campo, la última columna tomará precedencia. Para acceder a la/s otra/s columna/s con el mismo nombre, se tendrá que acceder al resultado con índices numéricos mediante el uso de mysql_fetch_row() o agregando sobrenombres. Véase el ejemplo en la descripción de mysql_fetch_array() respecto a los sobrenombres.

Ejemplos

Ejemplo #1 Un ejemplo desarrolado de mysql_fetch_assoc()

<?php

$conexión 
mysql_connect("localhost""usuario_mysql""contraseña_mysql");

if (!
$conexión) {
    echo 
"No pudo conectarse a la BD: " mysql_error();
    exit;
}

if (!
mysql_select_db("nombre_de_la_bd")) {
    echo 
"No ha sido posible seleccionar la BD: " mysql_error();
    exit;
}

$sql "SELECT id as id_usuario, nombre_completo, estatus_usuario
        FROM   alguna_tabla
        WHERE  estatus_usuario = 1"
;

$resultado mysql_query($sql);

if (!
$resultado) {
    echo 
"No se pudo ejecutar con exito la consulta ($sql) en la BD: " mysql_error();
    exit;
}

if (
mysql_num_rows($resultado) == 0) {
    echo 
"No se han encontrado filas, nada a imprimir, asi que voy a detenerme.";
    exit;
}

// Mientras exista una fila de datos, colocar esa fila en $fila como un array asociativo
// Nota: Si solo espera una fila, no hay necesidad de usar un bucle
// Nota: Si coloca extract($fila); dentro del siguiente bucle,
//       estará creando $id_usuario, $nombre_completo, y $estatus_usuario
while ($fila mysql_fetch_assoc($resultado)) {
    echo 
$fila["id_usuario"];
    echo 
$fila["nombre_completo"];
    echo 
$fila["estatus_usuario"];
}

mysql_free_result($resultado);

?>

Notas

Nota: Rendimiento

Algo importante a observar es que el uso de mysql_fetch_assoc() 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