Manual do PHP
Anterior |  | Próxima

# mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc -- Busca o resultado de uma linha e o coloca numa matriz associativa

## Descrição

array mysql_fetch_assoc ( resource result)

Retorna uma matriz associativa que corresponde a linha ou `FALSE` se não houverem mais linhas.

mysql_fetch_assoc() é equivalente a chamar mysql_fetch_array() com MYSQL_ASSOC para o segundo parâmetro, que é opcional. Somente retorna uma matriz associativa. Este é o jeito que mysql_fetch_array() funcionava originalmente. Se você precisa dos índices numéricos assim como o associativo, use mysql_fetch_array().

Se duas ou mais colunas do resultado tiverem o mesmo nome do campo, a ultima coluna terá precedência. Para acessar as outras coluna(s) com o mesmo nome, você deve usar o índice numérico da coluna usando mysql_fetch_row() ou fazer um apelido para a coluna. Veja o exemplo em mysql_fetch_array() uma descrição para apelidos.

Uma coisa importante para notar é que usar mysql_fetch_assoc() não é significativamente mais lenta do que usar mysql_fetch_row(), enquanto produz um resultado melhor de usar.

> Nota: Nomes de campos nesta função diferenciam maiúsculas e minusculas.

Exemplo 1. mysql_fetch_assoc()

`<?php
$conn = mysql_connect("localhost", "mysql_user", "mysql_password");
if (!$conn) {
echo "Não foi possível conectar: " . mysql_error();
exit;
}
if (!mysql_select_db("mydbname")) {
echo "Não foi possível selecionar mydbname: " . mysql_error();
exit;
}
$sql = "SELECT id as userid, fullname, userstatus
FROM sometable
WHERE userstatus = 1";
$result = mysql_query($sql);
if (!$result) {
echo "Não foi possível executar a query ($sql): " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "Nenhuma linha encontrada, nada para mostrar, então estou saindo";
exit;
}
// Enquanto uma linha com dados existir, coloca esta linha em $row como uma matriz associativa
// Nota: Se você esta esperando somente uma linha, não é necessário usar o loop
// Note: Se você colocar extract($row); dentro o loop a seguir,
// então você irá criar $userid, $fullname, and $userstatus
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
mysql_free_result($result);
?>`

Veja também mysql_fetch_row(), mysql_fetch_array() e mysql_query().

Anterior | Principal | Próxima
mysql_fetch_array | Acima | mysql_fetch_field