+6

Formas de manipular os dados de uma busca MySQL

criado por David Bittencourt em 05/12/2003 10:00am
O que eu irei apresentar é um conhecimento básico do PHP, mas que poderá ser útil para algumas pessoas reavaliarem seus scripts.

O PHP possui diferentes funções para manipular um mesmo resultado que é retornado de uma busca no banco de dados MySQL. São elas:

- mysql_fetch_row()
- mysql_fetch_assoc()
- mysql_fetch_array()
- mysql_fetch_object()

As três primeiras retornam uma matriz (array) e a última retorna um objeto. Note porém que nenhuma delas retorna TODOS os dados ao ser executada, mas sim, somente uma linha por vez. Para unir todos os dados numa única variável você precisa passar por todas as linhas guardando os resultados na variável.

Mas como fazer isso? Há inúmeras maneiras. Antes explicarei como funciona cada uma das funções apresentadas. Para isso iremos utilizar as seguintes tabelas para os exemplos:



Também teremos a conexão e a seleção do banco de dados feita da seguinte maneira:

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or die("Não pude conectar: " . mysql_error());

mysql_select_db("banco_de_dados");
?>

Comentários:

Mostrando 1 - 10 de 18 comentários
foi de grande ajuda!!! Valeu!
11/07/2005 12:47pm (~11 anos atrás)

Estou desenvolvendo um sistema para faculdades, e para exibir os nomes dos alunos utilizei os informações do David Bittencourt, foi de grande ajuda!!!

Parabéns!
19/05/2005 12:58pm (~11 anos atrás)

E se caso fosse alterar via página,um nome do campo da tabela?
13/10/2004 4:42pm (~12 anos atrás)

Gustavo Villa disse:
David, parabéns pelo artigo.
Gostei da dica de atribuir os resultados da consulta a uma outra array para depois usar assim: $myarr[3]['nome'];

Gostei também do esclarecimento a respeito do uso de mysql_fetcha_array, como o segundo argumento para economizarmos espaço na memória.

Parabéns mesmo.
24/07/2004 9:45am (~12 anos atrás)

blz, funcionou legal sem as imagens..
10/03/2004 2:02pm (~12 anos atrás)

Perdão, as imagens não apareceram por causa de um bug no codigo do site que eu consertei semana passada.

O David enviou para mim as imagens novamente para eu consertar o artigo, mas só agora tive tempo para isso.

--Joao
14/12/2003 4:12pm (~13 anos atrás)

Obrigado Bucaneiro... =)

É, com as imagens seria bem melhor... =(

--db
10/12/2003 2:11pm (~13 anos atrás)

cara formidavel, com exemplos práticos, abordagem simples e de uso comum.

Poxa galera consertem as imagens, este é um artigo de grande valor pros iniciantes.
10/12/2003 12:06pm (~13 anos atrás)

Prefiro a função mysql_fetch_row(), pois é a mais rápida de todas.
Em relação ao artigo, muito bom MESMO, principalmente referente à dica do 'alias'.

Parabéns!
09/12/2003 2:12pm (~13 anos atrás)

No início eu também usava mysql_fetch_object() pois era como eu tinha aprendido.

Quando meus scripts começaram a ficar mais complicados eu vi a vantagem em usar mysql_fetch_array() como expliquei na última página do artigo.

Hoje, como minhas buscas no MySQL exigem diversas tabelas e grande número de campos, usar mysql_fetch_assoc() é a melhor opção pra mim.

Cada um precisa analisar a sua necessidade =)

--db
08/12/2003 7:57pm (~13 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)