hallo allen,
ik heb een functietje geschreven om in 1 klap een hele recordset in een array op te slaan. de vraag is of dit een slordige methode is, en onnodig veel geheugen vreet. wat ik nl. doe is ik kwak alle columns en rows in een 2d- array, die ik vervolgens retourneer:
vervolgens roep ik deze aan:
kan dit economischer? stel namelijk dat ik een recordset van 1000 rows met per row bijv. 20 columns opvraag, dan wordt er een array gemaakt die heel groot is die ik vervolgens weer wegpleur bij het verlaten vd functie (nadat ik deze weer in een array buiten de functie inlaadt).
ik ben geen oo held dus vandaar deze aanpak.
ik heb een functietje geschreven om in 1 klap een hele recordset in een array op te slaan. de vraag is of dit een slordige methode is, en onnodig veel geheugen vreet. wat ik nl. doe is ik kwak alle columns en rows in een 2d- array, die ik vervolgens retourneer:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| function sql2array($myquery) { $myresult = mysql_query($myquery) or exit("Error while executing SQL: " . $mysql_error()); $mynumber = mysql_num_rows($myresult); if ($mynumber) { // // pomp alle columns per row in het sql object; // $row = 0; while ($sqlobj[$row] = mysql_fetch_assoc($myresult)) { $row++; } } else { // // no results; // $sqlobj = false; } mysql_free_result($myresult); return $sqlobj; } |
vervolgens roep ik deze aan:
code:
1
2
| $sqlobj = sql2array("SELECT label, orde FROM help_chapters ORDER BY orde ASC"); print_r($sqlobj); |
kan dit economischer? stel namelijk dat ik een recordset van 1000 rows met per row bijv. 20 columns opvraag, dan wordt er een array gemaakt die heel groot is die ik vervolgens weer wegpleur bij het verlaten vd functie (nadat ik deze weer in een array buiten de functie inlaadt).
ik ben geen oo held dus vandaar deze aanpak.