JersyWoo > web business

Lost in the global village

Mysql_fetch_array, mysql_fetch_row a mysql_fetch_assoc

Leden 3rd, 2007

Tyto tři funkce slouží pro naplnění pole při dotazu do mysql. Mysql_fetch_array v defaultním nastavení bez druhého nepovinného parametru vytváří dvě pole najednou a to pole s číselným, ale i asociativními idetifikátory. To je dosti neefektivní vytvářet dvě pole s různými indexy pro jedny data. Další možností je použít mysql_fetch_row , které vytváří pole s číselnými indexy. Ale kdo by používal číselné indexy, když asociativní (slovní) indexy jsou mnohem lépe použitelné. Pole s asociativními indexy vytváří mysql_fetch_assoc , které používím skoro jako jediné z těchto tří možností. Díky asociativnímu poli jsou proměnné krásně slovně popsané a zdrojový kód je přehlednější. Navíc nevytvářím číselné pole (ani duplicitně) a nemusím si pamatovat druhý parametr funkce.

Nedávno jsem v jedné větší aplikaci nahradil všechny mysql_fetch_array za mysql_fetch_assoc, protože se stejně používali jenom asociativní indexy. Výsledek byl krásný, mnohem menší zatížení serveru a myšlenky na koupi nového železa se odsunuli do budoucna. To jsem zase objevil Ameriku.

2 komentáře to “Mysql_fetch_array, mysql_fetch_row a mysql_fetch_assoc”

  1. Ronnie napsal:

    Vyměnil jsi mysql_fetch_array za mysql_fetch_assoc, ne? Nikoliv mysql_fetch_row za mysql_fetch_assoc, pak by menší zatížení serveru nenastalo…

  2. jersywoo napsal:

    Ano, máš pravdu, došlo k překlepu při psaní článku.

Leave a Reply to jersywoo