Descrição
array
mysql_fetch_array
( resource result [, int result_type])
Retorna
uma
matriz
que
corresponde
a
linha
buscada
,
ou
FALSE
se
não
houverem
mais
linhas
.
mysql_fetch_array(
)
é
uma
versão
estendida
de
mysql_fetch_row(
)
.
Além
de
guardar
os
dados
em
um
índice
numérico
na
matriz
,
também
guarda
os
dados
em
índices
associativos
,
usando
o
nome
do
campo
como
chave
.
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
ou
fazer
um
apelido
para
a
coluna
.
Para
colunas
com
apelido
,
você
não
pode
acessar
os
conteúdos
com
o
nome
original
da
coluna
(
usando
'field
'
neste
exemplo
)
.
Exemplo
1
.
Query
com
nomes
de
campo
duplicados
|
Uma
coisa
importante
para
notar
é
que
usar
mysql_fetch_array(
)
não
é
significativamente
mais
lenta
do
que
usar
mysql_fetch_row(
)
,
enquanto
que
produz
um
resultado
melhor
de
se
usar
.
O
segundo
argumento
,
que
é
opcional
,
result_type
em
mysql_fetch_array(
)
é
uma
constante
que
pode
ter
os
seguintes
valores
:
MYSQL_ASSOC
,
MYSQL_NUM
,
e
MYSQL_BOTH
.
Isto
foi
adicionado
no
PHP
3.0.7
.
MYSQL_BOTH
é
o
padrão
para
este
argumento
.
Usando
MYSQL_BOTH
,
você
terá
uma
matriz
com
os
índices
associativos
e
numéricos
.
Usando
MYSQL_ASSOC
,
você
terá
apenas
os
índices
associativos
(
como
funciona
mysql_fetch_assoc(
)
)
,
usando
MYSQL_NUM
,
você
terá
apenas
os
índices
numéricos
(como
funciona
mysql_fetch_row(
)
)
.
Exemplo
2
.
mysql_fetch_array
com
MYSQL_NUM
?php
mysql_connect(
"localhost"
,
"mysql_user"
,
"mysql_password"
)
or
die("Não
pude
conectar
:
"
.
mysql_error())
;
mysql_select_db("mydb")
;
$result
=
mysql_query("SELECT
id
,
name
FROM
mytable")
;
while
($row
=
mysql_fetch_array($result
,
MYSQL_NUM)
)
{
printf
("ID
:
%s
Name
:
%s"
,
$row[0]
,
$row[1])
;
}
mysql_free_result($result)
;
?
|
|
Exemplo
3
.
mysql_fetch_array
com
MYSQL_ASSOC
?php
mysql_connect(
"localhost"
,
"mysql_user"
,
"mysql_password"
)
or
die("Não
pude
conectar
:
"
.
mysql_error())
;
mysql_select_db("mydb")
;
$result
=
mysql_query("SELECT
id
,
name
FROM
mytable")
;
while
($row
=
mysql_fetch_array($result
,
MYSQL_ASSOC)
)
{
printf
("ID
:
%s
Name
:
%s"
,
$row["id"]
,
$row["name"])
;
}
mysql_free_result($result)
;
?
|
|
Exemplo
4
.
mysql_fetch_array
com
MYSQL_BOTH
?php
mysql_connect(
"localhost"
,
"mysql_user"
,
"mysql_password"
)
or
die("Não
pude
conectar
:
"
.
mysql_error())
;
mysql_select_db("mydb")
;
$result
=
mysql_query("SELECT
id
,
name
FROM
mytable")
;
while
($row
=
mysql_fetch_array($result
,
MYSQL_BOTH)
)
{
printf
("ID
:
%s
Name
:
%s"
,
$row[0]
,
$row["name"])
;
}
mysql_free_result($result)
;
?
|
|
Para
maiores
detalhes
,
veja
também
mysql_fetch_row(
)
e
mysql_fetch_assoc(
)
.