(PHP 5)
mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Obtiene 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 es que no hay 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().
Retorna una matriz de strings asociativa que representa a la fila obtenida del
resultset, donde cada llave de la matriz corresponde al nombre de una de las columnas
de éste; o NULL
si es que no le quedan filas.
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 necesita ya sea acceder al resultado usando los índices numéricos gracias a mysqli_fetch_row(), ya sea añadirle alias a los campos.
Ejemplo #1 Estilo orientado a objetos
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* verificar la conexión */
if (mysqli_connect_errno()) {
printf("Conexión fallida: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
if ($result = $mysqli->query($query)) {
/* obtener array asociativo */
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
/* liberar el resultset */
$result->free();
}
/* cerrar la conexión */
$mysqli->close();
?>
Ejemplo #2 Estilo por procedimientos
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* verificar la conexión */
if (mysqli_connect_errno()) {
printf("Conexión fallida: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
if ($result = mysqli_query($link, $query)) {
/* obtener array asociativo */
while ($row = mysqli_fetch_assoc($result)) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
/* liberar el conjunto de resultados */
mysqli_free_result($result);
}
/* cerrar la conexión */
mysqli_close($link);
?>
El resultado de los ejemplos serían:
Pueblo (USA) Arvada (USA) Cape Coral (USA) Green Bay (USA) Santa Clara (USA)
Ejemplo #3 Un ejemplo de mysqli_result comparando iterator usage
<?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 $row ) {
printf("'%s'@'%s'\n", $row['user'], $row['host']);
}
echo "\n==================\n";
// Sin usar iteradores
$result = $c->query('SELECT user,host FROM mysql.user');
while ($row = $result->fetch_assoc()) {
printf("'%s'@'%s'\n", $row['user'], $row['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'