Manual do PHP
Anterior |  | Próxima

# mysql_fetch_array

(PHP 3, PHP 4, PHP 5)

mysql_fetch_array -- Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas

## Descrição

array mysql_fetch_array ( resource result [, int result_type] )

Retorna uma matriz que corresponde a linha obtida e move o ponteiro interno dos dados adiante.

## Parâmetros

`result`

  O resulatado resource que esta sendo avaliado. Este resultado vem de uma chamada a mysql_query().

`result_type`

  O tipo de array que deve ser obtida. é uma constante e pode ter os seguintes valores: `MYSQL_ASSOC`, `MYSQL_NUM`, e o valor padrão de `MYSQL_BOTH`.

## Valores de retornado

Retorna uma array que corresponde a linha obtida, ou `FALSE` se não houver mais linhas. O tipo da array retornada depende de como `result_type` esta definido. Usando `MYSQL_BOTH` (padrão), você terá um array com ambos os índices, numérico e associativo. Usando `MYSQL_ASSOC`, você tem apenas os índices associativos (como mysql_fetch_assoc() funciona), usando `MYSQL_NUM`, você tem apenas os índices numéricos (como mysql_fetch_row() funciona).

Se duas ou mais colunas do resultado tiverem os mesmos nomes de campos, a ultima coluna terá precedencia. Para acessar a(s) outra(s) coluna(s) com o mesmo nome, você deverá usar o índice numérico da coluna ou fazer um alias para a coluna. Para colunas com alias, você não pode acessar os conteúdos com o nome original da coluna.

## Exemplos

Exemplo 1. Consulta com nomes de campos duplicados usando alias

    SELECT table1.field AS foo, table2.field AS bar FROM table1, table2

Exemplo 2. mysql_fetch_array() com `MYSQL_NUM`

`<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Não foi possível 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 foi possível 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 foi possível 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); ?>`

## Notas

> Performance: Uma coisa importante para notar que usar mysql_fetch_array() não é significativamente mais lento do que usar mysql_fetch_row(), enquanto provê um valor agregado significante.

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

> Nota: Esta função assimila campos NULL para o o `NULL` do PHP.

## Veja também

mysql_fetch_row()
mysql_fetch_assoc()
mysql_data_seek()
mysql_query()

Anterior | Principal | Próxima
mysql_escape_string | Acima | mysql_fetch_assoc