Zdravim :-)
Tvorim velky projekt s vyuzitim mysql databaze. Snazim se dodrzovat cistotu a sporadanost ... ale nelibi se mi to, kdyz je treba na jedne strance napsano asi 5x:
// Nacteni dorucenych
$local_query = "SELECT prezdivka FROM vzkazy...bla";
$result = mysql_query($local_query, $link);
unset($local_query);
$doruceno = mysql_num_rows($result);
mysql_free_result($result);
// Nacteni odeslanych
....
tak me napadlo, ze bych definoval funkci, ktera by vykonala dotaz, aby se nemuselo psat tolik veci ("unset($local_query); mysql_free_result($result);"), a nasledne vratila vysledky, ktere by potom byly zpracovány...
jakej je na to váš názor? je to blbost? pouziva se to tak? Dikys za radu od tech zkusenejsich :-)
...
No já nevím přece jenom ty dotazy mohou být odlišné jeden od druhého a tak se na ně univerzální funkce moc nehodí. Já takovou funkci používám pouze pro spojení s DB na začátku skriptu, tam je to stále stejné. Dotazy píšu přímo.
mam takovej pocit, že na unset() nebo mysql_free_result() (nebo obojim - ale spíš mysql_free_result) v php je bug - stejně tu paměť neuvolní - až po skončení skriptu - to uvolňuje všechnu paměť, kterou skript zabral. Možná to opravili v php5, ale nejsem si jistej... každopádně tady php5 neni a bug je. Kdyžtak se podívejte přímo do buglistu php4, určitě to tam bude.
Zápis každého dotazu můžeš zkrátit už tím, že budeš dotaz psát přímo do mysql_query("dotaz") a ne do zvláštní proměnné. Na přehlednosti to neubere a nevýhody to IMHO nemá.
Kvůli tomu, co jsem napsal nahoře, můžeš mysql_free_result přestat s čistym svědomím používat a ... problém je vyřešen...