Manual do PHP
Anterior |  | Próxima

# mysql_fetch_array

(PHP 3, PHP 4 )

mysql_fetch_array -- Busca o resultado de uma linha e o coloca como uma matriz associativa, matriz numérica ou ambas.

## 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
    select table1.field as foo, table2.field as bar from table1, table2

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

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

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); ?>`

Veja também mysql_fetch_row() e mysql_fetch_assoc().

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