Hol tárolódik a mysql_query()-ből visszatért erőforrás?
Sziasztok!
Amikor használok egy mysql_query()-ből visszatért erőforrást, akkor az minden alkalommal újra igénybe veszi az adatbázist? Vagy tárolódik valahol?
Pl. ebben az esetben:felmerült bennem, hogy ha itt minden egyes esetben újra igénybeveszi az adatbázist, akkor inkább már az elején berakom egy tömbbe, és annak az elemeit számolgatom a továbbiakban.
De ha az adatbázist csak a mysql_query()-nél használja, akkor nincs értelme tömbözni (az adott feladatnál).
Köszi
■ Amikor használok egy mysql_query()-ből visszatért erőforrást, akkor az minden alkalommal újra igénybe veszi az adatbázist? Vagy tárolódik valahol?
Pl. ebben az esetben:
<?php
$eroforras=mysql_query($jo_bonyolult_query);
if(!mysql_num_rows($eroforras)) echo $uzenet_0;
elseif(mysql_num_rows($eroforras)==1) echo $uzenet_1;
elseif(mysql_num_rows($eroforras)==2) echo $uzenet_2;
elseif(mysql_num_rows($eroforras)==3) echo $uzenet_3;
elseif(mysql_num_rows($eroforras)==4) echo $uzenet_4;
elseif(mysql_num_rows($eroforras)>4) {
while($aktual=mysql_fetch_array($eroforras)) echo $aktual[0].'<br>';
}
?>
De ha az adatbázist csak a mysql_query()-nél használja, akkor nincs értelme tömbözni (az adott feladatnál).
Köszi
query
edit:
késő van már nekem :(
de a lényeg benne van a válaszban, szóval az eredményhalmaz egy PHP változóban tárolódik, tehát onnantól kezdve a MySQL-nek nincs dolga vele.
Nem teljesen igaz
De minden egyes új mysql_query az adatbázishoz fordul. Tudni kell ugyanis, hogy alapvetően az eredmények bármikor módosulhatnak, akár azalatt az idő alatt is, amíg feldolgozod őket, ekkor ugyanis már memóriában van az eredmény (kivéve pár speciális mezőt, amit élőben olvas).
köszönöm