(PHP 5, PHP 7)
mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Obtener una fila de resultado como un array asociativo
Estilo orientado a objetos
Estilo por procedimientos
Retorna un array asociativo correspondiente a la fila obtenida o NULL
si no hubiera más filas.
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.
result
Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().
Devuelve un array asociativo de strings que representa a la fila obtenida del conjunto de
resultados, donde cada clave del array representa el nombre de una de las columnas
de éste; o NULL
si no hubieran más filas en dicho conjunto de resultados.
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, es necesario acceder al resultado ya sea usando los índices numéricos mediante mysqli_fetch_row(), ya sea añadiéndole alias a los campos.
Ejemplo #1 Estilo orientado a objetos
<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");
/* verificar la conexión */
if ($mysqli->connect_errno) {
printf("Conexión fallida: %s\n", $mysqli->connect_error);
exit();
}
$consulta = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
if ($resultado = $mysqli->query($consulta)) {
/* obtener un array asociativo */
while ($fila = $resultado->fetch_assoc()) {
printf ("%s (%s)\n", $fila["Name"], $fila["CountryCode"]);
}
/* liberar el conjunto de resultados */
$resultado->free();
}
/* cerrar la conexión */
$mysqli->close();
?>
Ejemplo #2 Estilo por procedimientos
<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");
/* verificar la conexión */
if (mysqli_connect_errno()) {
printf("Conexión fallida: %s\n", mysqli_connect_error());
exit();
}
$consulta = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
if ($resultado = mysqli_query($enlace, $consulta)) {
/* obtener array asociativo */
while ($row = mysqli_fetch_assoc($resultado)) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
/* liberar el conjunto de resultados */
mysqli_free_result($resultado);
}
/* cerrar la conexión */
mysqli_close($link);
?>
El resultado de los ejemplos sería:
Pueblo (USA) Arvada (USA) Cape Coral (USA) Green Bay (USA) Santa Clara (USA)
Ejemplo #3 Un ejemplo de mysqli_result comparando el uso de iterator
<?php
$c = mysqli_connect('127.0.0.1','user', 'pass');
// Usando iteradores (el soporte fue añadido con PHP 5.4)
foreach ( $c->query('SELECT user,host FROM mysql.user') as $fila ) {
printf("'%s'@'%s'\n", $fila['user'], $fila['host']);
}
echo "\n==================\n";
// Sin usar iteradores
$result = $c->query('SELECT user,host FROM mysql.user');
while ($fila = $result->fetch_assoc()) {
printf("'%s'@'%s'\n", $fila['user'], $fila['host']);
}
?>
El resultado del ejemplo sería algo similar a:
'root'@'192.168.1.1' 'root'@'127.0.0.1' 'dude'@'localhost' 'lebowski'@'localhost' ================== 'root'@'192.168.1.1' 'root'@'127.0.0.1' 'dude'@'localhost' 'lebowski'@'localhost'