mysql_fetch_assoc
(PHP 4 >= 4.0.3)
mysql_fetch_assoc --
Recupera una fila de resultado como una matriz asociativa
Descripción
array
mysql_fetch_assoc ( resource resultado)
Devuelve una matriz asociativa que corresponde a la fila recuperada, o
FALSE si no hay más filas.
mysql_fetch_assoc() es equivalente a llamar
mysql_fetch_array() con MYSQL_ASSOC como segundo
parámetro opcional. Únicamente devuelve una matriz
asociativa. Esta es la forma en que originalmente trabajaba
mysql_fetch_array(). Si necesita índices
numéricos así como asociativos, utilice
mysql_fetch_array().
Si dos o más columnas del resultado tienen los mismos nombres
de campo, la última columna tomará precedencia. Para
acceder a otras columnas con el mismo nombre, tendrá que
acceder al resultado con índices numéricos mediante el
uso de mysql_fetch_row() o agregar
sobrenombres. Vea el ejemplo en la descripción de
mysql_fetch_array() respecto a los sobrenombres.
Algo importante a notar es que el uso de
mysql_fetch_assoc() no es
significativamente más lento que el uso de
mysql_fetch_row(), al mismo tiempo que provee un
valor agregado considerable.
Nota: Los nombres de campos retornados por esta función diferencian entre
mayusculas y minusculas.
Ejemplo 1. Un ejemplo extendido de mysql_fetch_assoc()
<?php
$conexion = mysql_connect("localhost", "mysql_user", "mysql_password");
if (!$conexion) { 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, status_usuario FROM alguna_tabla WHERE status_usuario = 1";
$resultado = mysql_query($sql);
if (!$resultado) { echo "No pudo ejecutarse satisfactoriamente 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 una matriz asociativa // Nota: Si solo espera una fila, no hay necesidad de usar un ciclo // Nota: Si coloca extract($fila); dentro del siguiente ciclo, // estara creando $id_usuario, $nombre_completo, y $status_usuario while ($fila = mysql_fetch_assoc($resultado)) { echo $fila["id_usuario"]; echo $fila["nombre_completo"]; echo $fila["status_usuario"]; }
mysql_free_result($resultado);
?>
|
|
Vea también
mysql_fetch_row(),
mysql_fetch_array(),
mysql_query() y
mysql_error().