mysql_fetch_assoc

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( ) .