mysql_fetch_assoc
(PHP 4 >= 4.0.3)
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.
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);
?> |
|
Para maiores detalhes, veja também
mysql_fetch_row(),
mysql_fetch_array() e
mysql_query().