Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_object


mysql_fetch_array obterá uma matriz que pode ter como chaves:
  • tanto os números quanto os nomes das colunas, se estiver usando MYSQL_BOTH
  • nomes de colunas, usando MYSQL_ASSOC -- neste caso, você obterá a mesma coisa que obtém ao usar mysql_fetch_assoc
  • somente números (dependendo da ordem das colunas na consulta), se estiver usando MYSQL_NUM

Obter resultados indexados por nomes de colunas é provavelmente a solução mais útil - mais fácil de usar, pelo menos.

Mas obter resultados indexados pelas posições dos campos na cláusula select é interessante em uma situação:quando você tem várias colunas com o mesmo nome ou alias.
Neste caso, como você não pode ter duas entradas com o mesmo index em uma matriz, você poderá acessar apenas uma dessas colunas usando o nome da coluna como índice.
Para as outras colunas que tiverem o mesmo nome, você terá que usar índices numéricos.

Essa situação é provavelmente o único caso para o qual eu usaria mysql_fetch_array -- e prefiro usar aliases na minha consulta, para evitar essa situação -- é mais claro, na minha opinião.


mysql_fetch_assoc obterá uma matriz, com nomes de colunas como chaves e dados como valores.

Não há muito a dizer, na verdade.


E mysql_fetch_object você obterá objetos em troca.


Escolhendo entre mysql_fetch_assoc e mysql_fetch_object provavelmente depende de como você desenvolve seu aplicativo:se estiver usando objetos em todos os lugares, o segundo provavelmente é o mais adequado.

Se estiver usando arrays como contêineres de dados, você pode simplesmente usar o primeiro.