sql >> Databáze >  >> RDS >> Mysql

mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_object

mysql_fetch_array získáte pole, které může mít jako klíče :

  • čísla i názvy sloupců, pokud používáte MYSQL_BOTH
  • názvy sloupců pomocí MYSQL_ASSOC -- v tomto případě získáte totéž, co získáte při použití mysql_fetch_assoc
  • pouze čísla (v závislosti na pořadí sloupců v dotazu), pokud používáte MYSQL_NUM

Získání výsledků indexovaných podle názvů sloupců je pravděpodobně nejužitečnějším řešením - alespoň jednodušší na použití.

Ale získání výsledků indexovaných podle pozic polí v klauzuli select je zajímavé v jedné situaci:když máte několik sloupců, které mají stejný název nebo alias.
V tomto případě, protože nemůžete mít dvě položky se stejným index v poli, budete mít přístup pouze k jednomu z těchto sloupců pomocí názvu sloupce jako indexu.
Pro ostatní sloupce, které mají stejný název, budete muset použít číselné indexy.

Tato situace je pravděpodobně jediný případ, pro který bych použil mysql_fetch_array -- a raději v dotazu používám aliasy, abych se takové situaci vyhnul -- je to podle mého názoru jasnější.


mysql_fetch_assoc získáte pole s názvy sloupců jako klíči a daty jako hodnotami.

Vlastně není moc co říct.


A mysql_fetch_object vám na oplátku získá předměty.


Výběr mezi mysql_fetch_assoc a mysql_fetch_object nejvíce pravděpodobně závisí na tom, jak vyvíjíte svou aplikaci:pokud používáte objekty všude, druhý je pravděpodobně nejvhodnější.

Pokud používáte pole jako datové kontejnery, můžete použít první z nich.



  1. Načtení všech oprávnění k objektu pro konkrétní roli

  2. Jak mapovat PostgreSQL enum pomocí JPA a Hibernate

  3. Numerické funkce v Oracle (úplný seznam)

  4. SQL Server 2017:Kopírování dat SQL Server z Linuxu do Windows pomocí SSIS